$(document).ready(function(e) {

$('span#pijlr').click(function(e) {
    var slide = 500;
    var variable = $('#gallcont').css('left');
    var urechts = "-1000px";
    if(variable > urechts) {
    $('#gallcont').animate({'left': '-=' +slide+ 'px'},'fast','linear');
    }
});

$('span#pijll').click(function(e) {
    var slide = 500;
    var variable = $('#gallcont').css('left');
    var ulinks = "0px";
    if(variable < ulinks) {
    $('#gallcont').animate({'left': '+=' +slide+ 'px'},'fast','linear');
    }
});




});

我为一个简单的幻灯片库编写的代码。一切正常,除非我快速单击箭头按钮。它将超出我设置的值(尿布和绳)。

我尝试将'stop()'放在.animate之前,但这没有帮助。希望你们能给我一些有关如何解决此问题的建议。提前致谢!

最佳答案

尝试将bool放入click函数中,以确定它是否已处于过渡模式。

var inClick = false;

$(document).ready(function(e) {

$('span#pijlr').click(function(e) {
    if(inClick) return;

    inClick = true;

    var slide = 500;
    var variable = $('#gallcont').css('left');
    var urechts = "-1000px";
    if(variable > urechts) {
    $('#gallcont').animate({'left': '-=' +slide+ 'px'},'fast','linear', function() { inClick = false; });
    }
    else inClick = false;
});

$('span#pijll').click(function(e) {
    if(inClick) return;

    inClick = true;

    var slide = 500;
    var variable = $('#gallcont').css('left');
    var ulinks = "0px";
    if(variable < ulinks) {
    $('#gallcont').animate({'left': '+=' +slide+ 'px'},'fast','linear', function() { inClick = false; });
    }
    else inClick = false;
});




});

这样,您的用户必须等待转换完成才能再次单击。

关于jquery - 单击幻灯片库的速度太快(jquery),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8887173/

10-12 12:52
查看更多