2010-05-03 4 views
3

J'ai téléchargé effets jquery exemple et tous les effets apparaissent seulement onclick mais je veux qu'il soit exécuté sur document.ready() et continuer ...Remplacer clic() avec document.ready() dans jquery

<script type="text/javascript"> 
var ImgIdx = 2;//To mark which image will be select next 

function PreloadImg(){ 
    $.ImagePreload("images/im2.jpg"); 
    $.ImagePreload("images/im3.jpg"); 
    $.ImagePreload("images/im4.jpg"); 
    $.ImagePreload("images/im5.jpg"); 
} 
$(document).ready(function(){ 
    PreloadImg(); 
    $(".SlashEff ul li").click(function(){ 
    $(".Slash").ImageSwitch({Type:$(this).attr("rel"),  NewImage:"images/im"+ImgIdx+".jpg", speed: 4000 
      }); 
    ImgIdx++; 
    if(ImgIdx>5) ImgIdx = 1; 
    }); 
}); 
</script> 

et mon

<div class="SlashEff"> 
<ul> 
<li class="TryFadeIn" rel="FadeIn">Fade in</li> 
    <li class="TryFlyIn" rel="FlyIn">Fly in</li> 
<li class="TryFlyOut" rel="FlyOut">Fly out</li> 
<li class="TryFlipIn" rel="FlipIn">Flip in</li> 
<li class="TryFlipOut" rel="FlipOut">Flip out</li>  
<li class="TryScroll" rel="ScrollIn">Scroll in</li> 
<li class="TryScroll" rel="ScrollOut">Scroll out</li> 
<li class="TrySingleDoor" rel="SingleDoor">Single Door</li> 
<li class="TryDoubleDoor" rel="DoubleDoor">Double Door</li> 
</ul> 
</div> 

Voici le lien http://www.hieu.co.uk/blog/index.php/imageswitch/

J'ai essayé,

$(document).ready(function(){ 
    PreloadImg(); 
    $(".Slash").ImageSwitch({Type:$(this).attr("rel"), 
      NewImage:"images/im"+ImgIdx+".jpg", speed: 4000 
      }); 
    ImgIdx++; 
    if(ImgIdx>5) ImgIdx = 1; 
}); 

J'ai essayé cela, mais il est exécuté qu'une seule fois .... Je veux exécuter ce tous les 5000ms ... Est-ce possible ...

Répondre

4

Vous pouvez utiliser setInterval pour obtenir la répétition:

function swap() { 
    $(".Slash").ImageSwitch({Type:$(this).attr("rel"), 
    NewImage:"images/im"+ImgIdx+".jpg", speed: 4000 
    }); 
    ImgIdx++; 
    if(ImgIdx>5) ImgIdx = 1; 
} 
$(document).ready(function(){ 
    PreloadImg(); 
    setInterval(swap, 5000); 
}); 
+0

Ne pas interroger '$ (". Slash ")' à chaque fois! – Matt

+0

@Delan ya que cela a fonctionné .. – bala3569

+0

@Matt tout remplacement pour cela ... – bala3569

0
$(document).ready(function() { 
    PreloadImg(); 
    setTimeout(doEffect, 5000); 
}); 

function doEffect() { 
    $(".Slash").ImageSwitch({Type:$(this).attr("rel"), 
    NewImage:"images/im"+ImgIdx+".jpg", speed: 4000 
    }); 
    ImgIdx++; 
    if(ImgIdx>5) ImgIdx = 1; 
} 
+1

Ne pas PreloadImg() à chaque fois! –

Questions connexes