jquery、计时器还是链接函数?
如何最好地在李家骑自行车并重复 我应该使用计时器还是有更好的方法jquery、计时器还是链接函数?,jquery,Jquery,如何最好地在李家骑自行车并重复 我应该使用计时器还是有更好的方法 例如,我希望一次显示一个li。当我到达终点时,我想回到顶端,重新开始 不确定我是否正确理解了你的问题,但我会尝试一下 计时器在执行动画时很有用,或者如果您认为将有很多迭代(以便不占用线程) 如果您只是创建几个LI元素并将它们附加到UL元素,并且不希望它们以增量方式显示(如在动画中),只需使用for循环即可。新的jQuerydelay()在这里很方便 $(document).ready(function(){ $('ul l
例如,我希望一次显示一个li。当我到达终点时,我想回到顶端,重新开始 不确定我是否正确理解了你的问题,但我会尝试一下 计时器在执行动画时很有用,或者如果您认为将有很多迭代(以便不占用线程) 如果您只是创建几个LI元素并将它们附加到UL元素,并且不希望它们以增量方式显示(如在动画中),只需使用for循环即可。新的jQuery
delay()
在这里很方便
$(document).ready(function(){
$('ul li').hide();
function loopLi(element){
element.fadeIn('slow').delay(5*1000).fadeOut('slow');
var newElement;
if(element.is(':last')){
newElement = element.parents('ul').find('li:first');
}else{
newElement = element.next();
}
loopLi(newElement);
}
loopLi($('ul li:first'));
});
更新:
.delay()
并不是我想象的那样。似乎以异步方式工作,允许在li消失之前调用其他函数。这里有一个更好的方法,有一个间隔
$(document).ready(function(){
$('li:first').addClass('current');
$('li:not(:first)').hide();
var slideshow = setInterval(function (){
$('li.current').fadeOut('slow');
var nextElement;
if($('li.current').is(':eq('+ $('li').length +')')){
nextElement = $('li:first');
}else{
nextElement = $('li.current').next();
}
$('li.current').hide().removeClass('current');
nextElement.addClass('current').fadeIn('slow');
}, 10*1000);
});
如果您需要更多功能,可以使用jCarousel或其他旋转木马类型的插件。不确定您需要的演示文稿是什么样子,因此这可能会或不会比它的价值更麻烦。一点,但这个函数会让我的生活变得更加轻松:-)这会为Mehmm造成内存不足……您使用的是jQuery 1.4吗?我以前没有机会使用这个函数。试过之后,我发现了一些有趣的东西。看起来它不像我想象的那样是一个同步延迟。在第一次延迟结束之前,函数多次循环自身。像setInterval这样的东西可能更适合你的需要。对于每个阅读的人来说,听起来他想用无序列表实现一种幻灯片放映形式。