我写过这个简单的旋转木马.目前我正在使用setInterval以一定的时间间隔运行我的nextSlide函数.我想在用户点击导航链接一段时间后推迟计时器的运行.
看看这里
http://jsbin.com/uzixi3/3/edit
关于如何编写其余部分的任何反馈都会很好.
解决方法
你可以这样做:
http://jsbin.com/uzixi3/5/edit
间隔部分在这里:
var int = setInterval($.fn.nextSlide,3000); $("#slideNavigation a").click(function() { clearInterval(int); setTimeout(function() { setInterval($.fn.nextSlide,3000); },10000); });
我做了一些其他的调整,例如,你可以使用switch语句使.nextSlide()更具可读性和更便宜.
总的来说,没有理由将这些函数作为jjquery本身的扩展方法,因为它们不与对象交互,它们可以只是作用于闭包的方法,如下所示:http://jsbin.com/uzixi3/6/edit
如果这些方法实际上是在$(‘#slideContainer’)上运行,例如$(‘#slideContainer’).nextSlide()和你的方法中你使用this.animate()和this.css()它可能会更有意义,只是一些想法可以帮助你变得更灵活.