我有一个我正在使用的jquery/javascript传送带,但是如果用户在脚本执行完毕之前多次单击右侧或左侧导航按钮,它会创建一个丑陋的动画/轮播的顺序。阻止脚本在执行时运行两次
有没有一种方法可以防止此函数在执行时再次被调用(快速第二次单击)?
$(document).ready(function() {
$('.inner-main li:first').before($('.inner-main li:last'));
});
function mainSlide(direction) {
var item_width = 940;
if (direction == 'left') {
var movement = parseInt($('.inner-main').css('left')) + item_width;
} else {
var movement = parseInt($('.inner-main').css('left')) - item_width;
}
$('.inner-main').animate({ 'left': movement }, 800, function() {
if (direction == 'left') {
$('.inner-main li:first').before($('.inner-main li:last'));
} else {
$('.inner-main li:last').after($('.inner-main li:first'));
}
$('.inner-main').css({ 'left': '-940px' });
});
}
尝试把.stop().animate()之前 –
试过了,不起作用,因为当用户点击它时,调用必须进行计算的函数(var item_width),所以当用户多次点击时,它会重新计算 – user934902
好点。我会尝试59的建议 –