2010-05-03 2 views
3

я скачал JQuery эффекты пример и все эффекты появляются только OnClick, но я хочу, чтобы это было выполнено на document.ready() и продолжить ...Заменить щелчок() с document.ready() в 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> 

и мой

<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> 

Вот ссылка http://www.hieu.co.uk/blog/index.php/imageswitch/

Я попробовал это,

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

Я попытался это, но она будет выполняться только один раз .... Я хочу, чтобы выполнить это каждый 5000ms ... Возможно ли это ...

ответ

4

Вы можете использовать setInterval для достижения повторения:

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

Не запрашивайте '$ (". Slash ")' каждый раз! – Matt

+0

@ Delan ya, который сработал .. – bala3569

+0

@Matt любая замена для этого ... – 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

Не следует предварительно загружатьImg() каждый раз! –