首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jcarousellite在单击时停止

jcarousellite在单击时停止
EN

Stack Overflow用户
提问于 2011-04-06 23:00:26
回答 6查看 3.3K关注 0票数 1

嗨,我有一个页面与jcarousellite显示一些图像和滚动自动后每5秒,我想停止滚动时,我点击旋转木马中的任何图像

以下是我正在尝试做的事情

代码语言:javascript
复制
$(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       
        }); 


    });
});
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-05-24 18:14:26

我很抱歉回复得太晚了。我的问题解决了。通过更改jcarousellite的pauseOnHover选项,我们可以很容易地实现stop on click属性。如果你看到pauseOnHover的实现,它是这样的:

代码语言:javascript
复制
o.pauseOnHover ? ul.hover(function (){ paused == 1 }, function (){paused=0}) : "";

我们可以通过将ul.hover更改为ul.click来实现点击即停止

代码语言:javascript
复制
o.pauseOnHover ? ul.click(function (){ paused == 1 }, function (){paused=0}) : "";

祝您今天愉快。

票数 1
EN

Stack Overflow用户

发布于 2011-04-07 00:00:00

我读了一段代码,发现自动滚动是使用setTimeout实现的

代码语言:javascript
复制
if(o.auto)
    setInterval(function() {
        go(curr+o.scroll);
    }, o.auto+o.speed);

如果您再次使用jCarouselLite,它不会停止setTimeout。要停止setTimout,必须调用window.clearTimeout

代码语言:javascript
复制
var timeoutId = window.setTimeout(function(){...}, 100);

window.clearTimeout(timeoutId);

这是不可能的,因为jcarousel的代码没有为你提供这些timeoutId。您可以与开发人员交谈,也可以自己修改代码。

票数 0
EN

Stack Overflow用户

发布于 2011-04-07 01:29:40

我不同意scheffield的观点,或者想办法解决使用这个插件的问题,但我不得不同意他的观点--你需要重写源代码才能实现你想要的效果。或者,您可能想要考虑jquery cycle。它已经有了'pause‘和'stop’方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5568535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档