我有一个工作添加/删除我刚创建的数字,用于显示附加到内容滑块的当前页面的数量,这不是滑块的功能(请查看http://sneakyrascal.com/coupon2)
单击箭头时,滑块每秒更改每个内容,但数字会立即更改,因此当用户快速点击5次时,内容将无法达到该数字,例如页面可能位于第三页但是这个数字是5!
我试过使用.delay它没有用...有没有办法添加到脚本中,所以点击不会立即影响当前的数字?例如,箭头上的不止一次点击每秒只会影响一次,这应该是我认为的技巧......
$(function(){
$(".jcarousel-next-horizontal").click(function(){
var currentValue = $(".pages").text();
var five = "5";
var newValue = parseInt(parseFloat(currentValue)) + 1;
$(".pages").text(newValue);
if (currentValue==five) {
$(".pages").text("5");
}
});
$(".jcarousel-prev-horizontal").click(function(){
var currentValue = $(".pages").text();
var newValue = parseInt(parseFloat(currentValue)) - 1;
var one = "1";
$(".pages").text(newValue);
if (currentValue==one) {
$(".pages").text("1");
}
});
});
答案 0 :(得分:0)
您可以使用全局变量来指示事件的时间
答案 1 :(得分:0)
最简单的方法可能是存储最后一次点击的时间,当新的点击发生时,将当前时间与上一次点击的时间进行比较,如果自上次点击后不到一秒钟,则忽略点击。
可以使用jQuery的data()
方法将时间存储在全局变量中或者(可能更好)与实际对象相关联。
例如:
$(".jcarousel-prev-horizontal").click(function(){
var currentTime = Date.now();
var lastClickTime = $(this).data("lastClickTime");
if (lastClickTime && (currentTime - lastClickTime < 1000)) {
return(false); // ignore the click
}
$(this).data("lastClickTime", currentTime); // record time of last click
var currentValue = $(".pages").text();
var newValue = parseInt(parseFloat(currentValue)) - 1;
var one = "1";
$(".pages").text(newValue);
if (currentValue==one) {
$(".pages").text("1");
}
});