如何让这个click事件执行完再执行下一次
我写了一串jQuery代码,意思是一个图片滚动位移的代码,但是这个代码如果连续快速点击鼠标,会让这个事件还没执行完就执行下一次,如何给我这个click事件添加一个参数让他...
我写了一串jQuery代码,意思是一个图片滚动位移的代码,但是这个代码如果连续快速点击鼠标,会让这个事件还没执行完就执行下一次,如何给我这个click事件添加一个参数让他在执行完之前鼠标点击都不重新执行.
$("#goleft").click(function(){
var v=$("#gocont").position().left;
var speed=v+355;
if(v==0){
$("#gocont").css("left","0");
}else{
$("#gocont").css("left",speed+"px");
}
}); 展开
$("#goleft").click(function(){
var v=$("#gocont").position().left;
var speed=v+355;
if(v==0){
$("#gocont").css("left","0");
}else{
$("#gocont").css("left",speed+"px");
}
}); 展开
1个回答
展开全部
你是不是用了css样式transition来使改变元素css时动画过渡,正常情况下改了css是立即生效的。
如果这样的话,可以在点击时加上时间判断,当两次点击的间隔大于等于transition的间隔时,再改变样式。
例如
var lastClickTime = new Date().getTime();
var delay = 1000; // transition的延迟
$("#goleft").click(function(){
if (new Date().getTime() - lastClickTime < delay) {
return;
}
lastClickTime = new Date().getTime();
var v=$("#gocont").position().left;
var speed=v+355;
if(v==0){
$("#gocont").css("left","0");
}else{
$("#gocont").css("left",speed+"px");
}
});
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询