嗨,我有一个页面与jcarousellite显示一些图像和滚动自动后每5秒,我想停止滚动时,我点击旋转木马中的任何图像
以下是我正在尝试做的事情
$(document).ready(function() {
$('.slider_images').jCarouselLite({
btnNext: "#next",
btnPrev: "#prev",
auto: 3000
});
$(".slider_images img").click(function(){
$('.slider_images').jCarouselLite({
btnNext: "#next",
btnPrev: "#prev",
scroll: false
});
});
});发布于 2011-05-24 18:14:26
我很抱歉回复得太晚了。我的问题解决了。通过更改jcarousellite的pauseOnHover选项,我们可以很容易地实现stop on click属性。如果你看到pauseOnHover的实现,它是这样的:
o.pauseOnHover ? ul.hover(function (){ paused == 1 }, function (){paused=0}) : "";我们可以通过将ul.hover更改为ul.click来实现点击即停止
o.pauseOnHover ? ul.click(function (){ paused == 1 }, function (){paused=0}) : "";祝您今天愉快。
发布于 2011-04-07 00:00:00
我读了一段代码,发现自动滚动是使用setTimeout实现的
if(o.auto)
setInterval(function() {
go(curr+o.scroll);
}, o.auto+o.speed);如果您再次使用jCarouselLite,它不会停止setTimeout。要停止setTimout,必须调用window.clearTimeout
var timeoutId = window.setTimeout(function(){...}, 100);
window.clearTimeout(timeoutId);这是不可能的,因为jcarousel的代码没有为你提供这些timeoutId。您可以与开发人员交谈,也可以自己修改代码。
发布于 2011-04-07 01:29:40
我不同意scheffield的观点,或者想办法解决使用这个插件的问题,但我不得不同意他的观点--你需要重写源代码才能实现你想要的效果。或者,您可能想要考虑jquery cycle。它已经有了'pause‘和'stop’方法。
https://stackoverflow.com/questions/5568535
复制相似问题