gpt4 book ai didi

javascript - 在两个函数之间传递变量

转载 作者:行者123 更新时间:2023-12-03 05:29:45 25 4
gpt4 key购买 nike

我使用这个简单的脚本来创建一些 slider ,该 slider 在 mouseenter 上启动,并在 mouseleave 上停止:

$( ".grid-item" ).mouseenter(function() {

var slides = $(this).find( ".slide-image" ),
counter = 0;

var test = setInterval(function(){
slides.removeClass('active');
slides.eq(counter).addClass('active');
counter++;

if (counter > slides.length) {counter = 0;};
}, 600);

}).mouseleave(function() {

clearInterval(test);
// $( ".slide-image" ).removeClass('active');

});

slider 启动得很好,但在 mouseleave 事件上我收到控制台错误“Uncaught ReferenceError:测试未定义”。我认为那是因为第二个函数中没有传递间隔变量。有什么解决办法吗?

Check out my CodePen! (这里工作正常)

最佳答案

在函数外部声明变量test

var test;
$( ".grid-item" ).mouseenter(function() {

var slides = $(this).find( ".slide-image" ),
counter = 0;

test = setInterval(function(){
slides.removeClass('active');
slides.eq(counter).addClass('active');
counter++;

if (counter > slides.length) {counter = 0;};
}, 600);

}).mouseleave(function() {

clearInterval(test);
// $( ".slide-image" ).removeClass('active');

});

关于javascript - 在两个函数之间传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40995472/

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