2010-12-14 6 views
0

J'ai un code de bannière, ce qui n'est pas comme les images et les hyperliens. Tout ce dont j'ai besoin est le code javascript qui rafraîchira ce code toutes les 30 secondes sans actualiser le reste de la page.bannière actualiser le code

Ce code de bannière apparaîtra dans le salon de discussion. J'apprécierais vraiment toute aide. Le code de la bannière:

<script language='JavaScript' 
     type='text/javascript' 
     src='xxxxxx/banner.php?uname=yyyy&type=2&rows=1' >  
</script> 
+1

Je pense que vous devez afficher le code réel impliqué, ou quelque chose ... – Pointy

+0

ce que vous entendez code réel? – par

Répondre

0

vous aurez envie de donner cette balise script un ID (comme id='dynScript'), puis un autre bloc de script qui fait à peu près ce qui suit: [Note: J'utilise jQuery]

<script> 
    $(document).ready(function(){ 

    setTimeout ($('#dynScript').attr('src','xxxxxx/banner.php?uname=yyyy&type=2&rows=1'), 3000); 
    }); 
</script> 
+0

est le code donc corect? si oui, ne fonctionne pas, je suis désolé beginne s'il vous plaît me expliquer comment puis-je définir ce code par

2

La première chose à faire est d'enrouler votre code dans une fonction. Essayer de ré-invoquer une importation entière de fichier de script est beaucoup plus difficile que d'appeler simplement une fonction. Une fois que tout est enveloppé dans une fonction, vous pouvez utiliser setTimeout pour appeler la méthode. Je ferais quelque chose comme ceci:

function drawBanner() { 
    // Do stuff to draw the banner. 
    // Make sure you handle the case that the 
    // banner is already present in the DOM! 
} 

function onDrawBannerTimer() { 
    // Set this function to fire again after 30 seconds. 
    // Note that this will fire it roughly every 30 seconds real-time. 
    // You can move this statement to after the drawBanner() call 
    // in order to make it 30 seconds between the end of one 
    // invocation and the start of the next. 
    setTimeout(onDrawBannerTimer, 30 * 1000); 
    drawBanner(); 
} 

// Trigger the first invocation when the script is loaded. 
onDrawBannerTimer(); 
Questions connexes