J’ai un élément qui sert de bannière sur mon site web. Cette bannière contient du contenu HTML, mais utilise une image haute résolution comme image d’arrière-plan. Pour cette raison, je charge la dernière image d’arrière-plan et la passe en fondu après son téléchargement. Mon code ressemble à ceci:
[Some Text] [Site Menu Goes Here]
$(document).ready(function () { $("#bannerTable").loadBGImage("/picture1.png"); }); $.fn.loadBGImage = function (url) { var t = this; $('') .attr('src', url) .load(function () { t.each(function () { $(this).hide(); $(this).css('backgroundImage', 'url(' + url + ')'); $(this).fadeIn(); }); }); return this; }
Même avec cela, mon site Web semble statique. Pour cette raison, je souhaite parcourir plusieurs images haute résolution au moment de l’exécution. Ces images haute résolution seront utilisées dans le bannerTable comme image d’arrière-plan. Je veux qu’ils se fondent en fondu dans la boucle.
Comment puis-je faire cela avec jQuery?
regardez la source de démonstration pour le code de travail complet
Utilisez essentiellement setInterval
pour appeler loadBGImage, par exemple toutes les 60 secondes.
par exemple quelque chose comme
var interval = 0; var intervalTimer = setInterval( function(){ if (++interval > 10) {interval = 1} $("#bannerTable").loadBGImage("/picture" + interval + ".png"); } , 60000 );