gpt4 book ai didi

javascript - 当屏幕分辨率改变时,带有间隔的 Jquery slider 会加速

转载 作者:行者123 更新时间:2023-11-28 06:16:45 24 4
gpt4 key购买 nike

所以我的 slider 工作得很好;每 3 秒切换一次,当我将鼠标悬停在其上或单击箭头时停止。如果我不理会它,它就会重新启动。

一切正常。

但是,当我更改分辨率以提高响应速度时,响应速度开始加快并且不会响应鼠标悬停停止。

$var main = function(){
$('.dropdown-toggle').click(function(){
$('.dropdown-menu').toggle();

});


$('.arrow-next').click(function(){
var currentSlide = $('.active-slide');
var nextSlide = currentSlide.next();
if(nextSlide.length == 0){
nextSlide = $('.slide').first();
};
currentSlide.fadeOut(600).removeClass('active-slide');
nextSlide.fadeIn(600).addClass('active-slide');

var currentDot = $('.active-dot');
var nextDot = currentDot.next();
if(nextDot.length == 0){
nextDot = $('.dot').first();
};
currentDot.removeClass('active-dot');
nextDot.addClass('active-dot');
});
};

$('.arrow-prev').click(function(){
currentSlide = $('.active-slide');
prevSlide = currentSlide.prev();
if(prevSlide.length == 0){
prevSlide = $('.slide').last();
};
currentSlide.fadeOut(600).removeClass('active-slide');
prevSlide.fadeIn(600).addClass('active-slide');

var currentDot = $('.active-dot');
var prevDot = currentDot.prev();
if(prevDot.length == 0){
prevDot = $('.dot').last();
};
currentDot.removeClass('active-dot');
prevDot.addClass('active-dot');


});


$(document).ready(main);

$(document).ready( function() {

var auto = setInterval(function() {

var currentSlide = $('.active-slide');
var nextSlide = currentSlide.next();
if(nextSlide.length == 0){
nextSlide = $('.slide').first();
};
currentSlide.fadeOut(600).removeClass('active-slide');
nextSlide.fadeIn(600).addClass('active-slide');

var currentDot = $('.active-dot');
var nextDot = currentDot.next();
if(nextDot.length == 0){
nextDot = $('.dot').first();
};
currentDot.removeClass('active-dot');
nextDot.addClass('active-dot');
}, 3000);


$('.slider, .arrow-prev, .arrow-next').mouseover(function(){
clearInterval(auto);
}).mouseout(function(){
var auto = setInterval(function() {

var currentSlide = $('.active-slide');
var nextSlide = currentSlide.next();
if(nextSlide.length == 0){
nextSlide = $('.slide').first();
};
currentSlide.fadeOut(600).removeClass('active-slide');
nextSlide.fadeIn(600).addClass('active-slide');

var currentDot = $('.active-dot');
var nextDot = currentDot.next();
if(nextDot.length == 0){
nextDot = $('.dot').first();
};
currentDot.removeClass('active-dot');
nextDot.addClass('active-dot');
}, 3000);
})

});

最佳答案

我想通了......因为我在函数内部声明了“var”,所以它不是全局变量,所以它堆叠起来。现在我在函数外部添加了 var auto ,并在函数内部删除了 var auto ,它与调整大小完美配合;最小化,以及一切:D

我大约 3 周前开始研究 js 和 jquery,之前没有任何知识,所以我的代码可能是......怎么说呢......废话!但至少我很高兴我解决了这个问题!

我欢迎有关此 slider 的一般建议。

关于javascript - 当屏幕分辨率改变时,带有间隔的 Jquery slider 会加速,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35900274/

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