[英]Jquery slider with interval speeds up when screen resolution changes
所以我的滑块工作得很好; 切换evey 3秒并在我将鼠标悬停在它上面或单击箭头时停止。 如果我不理会它,它将重新启动。
一切正常。
但是,当我更改分辨率以进行响应时,响应速度开始加快,并且对mouseover停止不响应。
$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,它与resize完美配合; 最小化,一切:D
我大约在3周前开始查看js和jquery,并且之前有0个知识,所以我的代码可能是...怎么说呢...废话! 但至少我很高兴我发现了这一点!
我欢迎有关此滑块的一般建议。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.