所以我在页面侧面有一个按钮,使用户能够转到下一张幻灯片(页面)
因为页面大小可以是不同的宽度,这是在开始时计算的
所以链接的作用是运行动画。如果我双击按钮虽然它动画很远
这是我的代码
jQuery(".nextSlide").click(function() {
slide("forward", pageSize);
//for now assume pageSize is 950
});
function slide(data, pageSize) {
var newLeft = calcLeft(data, pageSize);
jQuery('#pageHolder').animate({
left: newLeft
}, 400, function() {
calcNav(pageSize);
calcPage(pageSize);
});
}
function calcLeft(action, pageSize){
// there will only ever be 4 slides. 0 is pos1)
var currentPos = currentPosition();
if (action == "back") {
if (currentPos == "0") {
left = -pageSize * 3;
} else {
left = currentPos + pageSize ;
}
} else if (action == "forward") {
if (currentPos == -pageSize * 3) {
left = 0;
} else {
left = currentPos - pageSize ;
}
return left;
}
function currentPosition() {
var currentPosition = parseInt(jQuery("#pageHolder").css("left"), 10);
return currentPosition;
}
所以如果用户点击按钮
<a href="#" class="nextSlide">next</a>
两次这会弄乱动画。
有什么方法可以确保
a) 当按钮被按下时,在动画完成之前不能再次按下
或者
b) 滑到下一张幻灯片,然后再次运行动画。
谢谢