• STATISTIQUES
  • Il y a eu un total de 0 membres et 28589 visiteurs sur le site dans les dernières 24h pour un total de 28 589 personnes!
    Membres: 2 606
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [FR] Zenk-Security
    La communauté zenk-security a pour objet principal la sécurité informatique, nous sommes des tou...
    Hacking
    [EN] PHPFreaks
    PHPFreaks est un site dédié à l'apprentissage et l'enseignement du PHP. Ici vous trouver...
    Programmation
    [FR] Developpez.net
    Un forum communautaire qui se veut pour les développeurs en générale. Avec presque 500 000 membr...
    Programmation
    [EN] Gekko
    Site de challenge présenter sous la forme d'une quête. Vous êtes un agent secret qui répond sous le nom...
    Challenges
    [FR] Zmaster
    Articles sur l'informatique, le hacking, le P2P, les divx, les astuces windows XP, les GSM, Emule, la cryptograph...
    Hacking
    [EN] Security Traps
    Site de challenge qui prétend être construit non pas dans le but de parfaire vos connaissances, mais plutôt dan...
    Challenges
    [FR] PHP France
    Pour tout savoir sur le PHP, en français. Vous trouverez des tutoriels, des exemples, des astuces, toute la do...
    Hacking

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Web] Changer le src d'un iframe régulièrement
19-05-2012, 20h04 (Modification du message : 19-05-2012, 20h15 par Booster2ooo.)
Message : #12
Booster2ooo Hors ligne
Contributeur
*****



Messages : 165
Sujets : 14
Points: 63
Inscription : Aug 2011
RE: PHP need help
Attention, jQuery =/= javascript, c'est une surcouche du js qui permet une manipulation du DOM nettement simplifiée. (En l'occurence, donc notre exemple, jQuery ne sert strictement à rien, il complexifie même un peu les choses)

Par contre, je me permets de te contredire aaSSfxxx (même si je comprends bien le point de vu Wink ). Ce petit snippet est un très bon exercice de débutant en javascript. Il permet de mettre en pratique les tableaux, la méthode getElementById qui est très utilisée et la fonction setInterval qui peut souvent s'avérée utile.

Je vais prendre la peine d'expliquer le snippet JS:
// Déclaration des variables et functions (sachant qu'en Javascript, une fonction peut être référencée via un nom de variable)
// On commece par déclarer un tableau siteList contenant nos urls. On aurait pu l'écrire comme ceci:
// var siteList = new Array('http://n-pn.fr/forum/showthread.php?tid=2031', ...)

var siteList = [
'http://n-pn.fr/forum/showthread.php?tid=2031'
, 'http://n-pn.fr/index.php?mod=tuto'
, 'http://n-pn.fr/index.php?mod=challenges'
]
// Toujours dans le bloque de déclaration, nous ajoutons la variable qui va servir au timer, ici une variable nommée interval d'une valeur de 5000
, interval = 5000 // 5secs
// On déclare une nouvelle variable buffer utilisée comme pile FIFO qui est un clone de siteList (le .slice(0) étant un petit trick permettant de dupliquer le tableau.)
// Si on avait mis buffer = siteList alors buffer n'aurait été qu'un alias de siteList, référenceant la même instance du tableau. Les opérations sur buffer
// auraient donc été faites sur siteList aussi (les deux étant le même tableau sous un nom différent)

, buffer = siteList.slice(0)

// On déclare maintanant la fonction qui va changer la source de l'iframe. On déclare donc une variable du nom next qui a pour valeur une fonction sans paramettre
, next = function() {
// Si notre pile buffer est vide, alors on reclone siteList
if(buffer.length == 0) buffer = siteList.slice(0);
// On accèdes à l'attribut src de notre iframe après l'avoir recherchée via son id dans le document et on lui passe la 1ere valeur entrée dans la pile
// qui par la même occasion lui est retirée (à la pile --> FIFO)

document.getElementById('iTarget').src = buffer.shift();
}
// On ferme le bloque de déclaration "var"
;

/* Tout ce qui ci dessus aurait pu s'écrire comme ceci: (déconseillé, je l'écris pour clarifier les choses car la synthaxe utilisée ci dessus peut être déconcertante)
var siteList = new Array('http://n-pn.fr/forum/showthread.php?tid=2031', 'http://n-pn.fr/index.php?mod=tuto', 'http://n-pn.fr/index.php?mod=challenges');
var interval = 5000;
var buffer = siteList.slice(0);
function next() {
if(buffer.length == 0) buffer = siteList.slice(0);
document.getElementById('iTarget').src = buffer.shift();
}
*/


// On execute une 1er fois notre fonction next() (on fait donc sauter la 1er valeur de la pile buffer et on s'en sert pour définir la source de l'iframe)
next();
// On lancer un timer qui executera notre fonction next() toutes les <interval> milisecondes, soit 5000 (5secondes)
// (Notez que dans la version jQuery, j'ai du utilisé une fonction anonyme pour faire l'appel à next() à cause de la portée de la fonction. En effet, comme elle est déclarée dans le scope de $(document).ready(), elle n'est pas accessible par setInterval qui rechercherait la fonction next() dans le scope global)

setInterval("next()", interval);

Ce qui, indenté et sans comment, donne bien:
Code :
var siteList = [
                        'http://n-pn.fr/forum/showthread.php?tid=2031'
                        , 'http://n-pn.fr/index.php?mod=tuto'
                        , 'http://n-pn.fr/index.php?mod=challenges'
                    ]
        , interval = 5000 // 5secs
        , buffer = siteList.slice(0)    
        , next = function() {
                if(buffer.length == 0) buffer = siteList.slice(0);
                document.getElementById('iTarget').src = buffer.shift();
            }
        ;

    next();
    setInterval("next()", interval);
+1 (0) -1 (0) Répondre


Messages dans ce sujet
RE: PHP need help - par EpicOut - 06-05-2012, 01h02
RE: PHP need help - par Booster2ooo - 06-05-2012, 10h16
RE: PHP need help - par romain95 - 06-05-2012, 11h11
RE: PHP need help - par Booster2ooo - 08-05-2012, 13h32
RE: PHP need help - par romain95 - 11-05-2012, 17h05
RE: PHP need help - par Di0Sasm - 11-05-2012, 19h40
RE: PHP need help - par romain95 - 15-05-2012, 17h30
RE: PHP need help - par Di0Sasm - 18-05-2012, 21h35
RE: PHP need help - par Booster2ooo - 19-05-2012, 13h44
RE: PHP need help - par supersnail - 19-05-2012, 17h11
RE: PHP need help - par Booster2ooo - 19-05-2012, 20h04

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut