簡體   English   中英

當屏幕分辨率改變時,帶有間隔的jQuery滑塊會加快速度

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM