gpt4 book ai didi

jquery - simple.carousel.js 的 mouseenter mouseleave jquery 悬停和重启问题

转载 作者:行者123 更新时间:2023-12-01 00:33:28 26 4
gpt4 key购买 nike

我对 simple.carousel.js 创建了一个编辑,以在悬停时停止轮播,但在鼠标离开时重新启动它时遇到问题。我添加到 simple.carousel.js 的代码是:

// hover stop
if(config.auto!=true)
$(this).mouseenter(function() {
config.auto=false;
}).mouseleave( function() {
config.auto=true;
});

您可以在此处查看完整的代码/示例以及我上面添加的内容:http://jsfiddle.net/6r6sC/2/

我的 mouseleave 函数有问题吗?

不确定这是否有帮助,但我也尝试过以下方法,但也不起作用:

// hover stop
if(config.auto!=true)
$(this).mouseenter(function() {
config.auto=false;
}).mouseleave( function() {
setTimeout(function() {
slide('next');
}, config.auto);
});

任何帮助将不胜感激,因为这让我很困惑。

最佳答案

使用 true 作为值是一个问题,因为 init 函数需要 false bool 值或 int 值。

编辑4: http://jsfiddle.net/6r6sC/44/

在slide()中,添加了startAuto()

if(config.auto!=false) {
startAuto();
}

编辑3:修复了多个计时器的问题,并创建了两个函数来处理启动/停止自动 slider 。

解决方案在这里:http://jsfiddle.net/6r6sC/41/

var cachedAuto = config.auto;
var timer = "";

var startAuto = function() {

config.auto = cachedAuto;
clearTimeout(timer);

timer = setTimeout(function() {
slide('next');
}, config.auto);
}

var stopAuto = function() {
clearTimeout(timer);
config.auto = false;
}

if(config.auto!=false) {
// start auto sliding
startAuto();

// pause/start on mouse events
$(this).on("mouseenter", function(event){
stopAuto();
}).on("mouseleave", function(event){
startAuto();
});
}

关于jquery - simple.carousel.js 的 mouseenter mouseleave jquery 悬停和重启问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13612816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com