Javascript jQuery停止点击垃圾邮件
我使用jQuery制作两个图像箭头来滑动div。我注意到,在点击垃圾广告时,这些部门的利润完全被弄乱了,他们无法回到规定的位置。通过一些搜索,我得到了以下代码:Javascript jQuery停止点击垃圾邮件,javascript,jquery,click,jquery-animate,Javascript,Jquery,Click,Jquery Animate,我使用jQuery制作两个图像箭头来滑动div。我注意到,在点击垃圾广告时,这些部门的利润完全被弄乱了,他们无法回到规定的位置。通过一些搜索,我得到了以下代码: var is_clicked = false; $("#arrow_r").click(function(){ if (is_clicked == true){ return; } is_clicked = true; var $img_bl
var is_clicked = false;
$("#arrow_r").click(function(){
if (is_clicked == true){
return;
}
is_clicked = true;
var $img_block = $('.photoBlock:visible');//current
if ($img_block.next().length > 0){
$img_block.animate({
marginLeft:-$('#server_photo_listing').outerWidth()
},function(){
is_clicked = true;
var $img_block = $('.photoBlock:visible');//current
var $img_block_next = $img_block.next();//next
$img_block.css("display","none");
$img_block_next.css("display","inherit");
$img_block_next.animate({
marginLeft:0
}
);
is_clicked = false;
});
}
});
$("#arrow_l").click(function(){
if (is_clicked == true){
return;
}
is_clicked = true;
var $img_block = $('.photoBlock:visible');//current
if ($img_block.prev().length > 0){
$img_block.animate({
marginLeft:$('#server_photo_listing').outerWidth()
}, function(){
is_clicked = true;
var $img_block = $('.photoBlock:visible');//current
var $img_block_prev = $img_block.prev();//previous
$img_block.css("display","none");
$img_block_prev.css("display","inherit");
$img_block_prev.animate({
marginLeft:0
}
);
is_clicked = false;
});
}
});
虽然当我在第二个箭头上使用它时,一开始它工作正常,但在一些点击垃圾邮件测试之后,变量被点击
保持为真
,因此滑动停止
我还必须说,箭头也用在另一个DIV中,该DIV位于显示屏上:none
——以防它有任何重要性。而且,上面所有的代码都包含更多的函数,它们位于一个main$(function(){})中代码>-如果有任何重要性,请再次输入
有什么想法吗?您可以绑定和解除绑定此元素上的clack事件
首先创建两个函数,在事件处解除单击事件的绑定,在动画完成处重新绑定事件
var go_right = function(){
$("#arrow_r").unbind('click');
var $img_block = $('.photoBlock:visible');//current
if ($img_block.next().length > 0){
$img_block.animate({
marginLeft:-$('#server_photo_listing').outerWidth()
},function(){
var $img_block = $('.photoBlock:visible');//current
var $img_block_next = $img_block.next();//next
$img_block.css("display","none");
$img_block_next.css("display","inherit");
$img_block_next.animate({
marginLeft:0
}, function () {
$("#arrow_r").bind('click', go_right);
});
});
}
};
var go_left = function(){
$("#arrow_l").unbind('click');
var $img_block = $('.photoBlock:visible');//current
if ($img_block.prev().length > 0){
$img_block.animate({
marginLeft:$('#server_photo_listing').outerWidth()
}, function(){
var $img_block = $('.photoBlock:visible');//current
var $img_block_prev = $img_block.prev();//previous
$img_block.css("display","none");
$img_block_prev.css("display","inherit");
$img_block_prev.animate({
marginLeft:0
}, function () {
$("#arrow_l").bind('click', go_left);
});
});
}
};
$("#arrow_r").bind('click', go_right);
$("#arrow_l").bind('click', go_left);
希望对您有所帮助首先,我会将这些处理程序合并为一个处理程序-它们几乎相同。谢谢您的回复。不幸的是,我得到了同样的结果。当我在一段时间后点击其中一个箭头时,两个箭头都停止工作。