J’ai l’image background.jpg
comme arrière-plan. Toutes les 10 secondes, comment charger un nouveau fond background_n.jpg
qui rest pendant 100 ms, puis revenir à background.jpg
et ainsi de suite?
function change_background( new_image_source ) { var myimage = $( '#myimage' ); myimage.attr( 'src', new_image_source ); setTimeout( function () { change_background( 'new image source here' ); }, 10000); }
Voici un exemple (qui n’a pas besoin de jQuery pour fonctionner):
var rotate = false; function setbackground(){ window.setTimeout( "setbackground()", 5000); newImage = rotate ? 'url(pict1.jpg)' : 'url(pict2.jpg)'; rotate = !rotate; document.getElementById('change').style.backgroundImage = newImage; }
Cordialement,
Max
Utilisez setInterval
et setTimeout
window.setInterval(function(){ window.setTimeout(function(){ $('div').css('background-image','url(background.jpg)'); },100); $('div').css('background-image','url(background_n.jpg)'); },10000);
exemple: http://jsfiddle.net/niklasvh/M56A6/
Vous pouvez utiliser setTimeout(function, timeout)
(fonction Javascript simple) pour définir une function
(que vous pouvez définir) à exécuter après le timeout
millisecondes.
Par exemple (l’alerte sera affichée après 10 secondes):
setTimeout(function () { alert('I am running!'); }, 10000);
Vous pouvez changer le fond d’un élément avec:
$(element).css('background-image', 'url(xy.jpg)')
Assurez-vous de précharger vos images d’arrière-plan avant de les utiliser.
Je vous déconseille d’utiliser setInterval()
pour cela (pour de si petits intervalles, cela pourrait s’emstackr), utilisez une chaîne de setTimeout()
s pour configurer l’action répétée.
Vous pouvez utiliser setInterval
pour exécuter une fonction toutes les n secondes et setTimeout
pour le code qui modifie l’image d’arrière-plan:
window.setInterval(function(){ $('body').css('backgroundImage', 'url(background_n.jpg)'); window.setTimeout(function(){ $('body').css('backgroundImage', 'url(background.jpg)'); }, 100); }, 10 * 1000);
Utilisez la fonction setTimeout()
ou jQuery de javascript
d = new Date(); $("#myimg").attr("src", "/myimg.jpg?"+d.getTime());