防止多次点击启动动画

时间:2012-09-27 05:31:24

标签: jquery

我有一个div框,如果我双击将扩展到整个页面。如果我按下div扩展后生成的按钮,div框将最小化回原始大小。但是,如果我双击div框,事件将被触发两次,展开div框然后立即将其最小化。所以我尝试使用.one(),但没有意识到它只能工作一次。我可以使用什么来一次只允许一次点击而不触发多个事件?这里是jsbin,下面是严格的jquery代码。 http://jsbin.com/eqezas/3/edit

$("#block").one('click', function(){
            $('#block1').hide();
  $("#block").animate({ 
    width: "100%",
    height: "100%",
    opacity: 0.4,
    fontSize: "3em", 

  }, 1500, function() {
    $('#but').show();  
     });


});


$('#but').one('click',function() {
            $('#block1').show();
      $("#block").animate({ 
    width: "100px",
    height: "40px",
    opacity: 1,
    fontSize: "1em", 

  }, 1500 );
            $('#but').hide(); 
    return false;

});

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

var processing = false;  // Global variable

// Probably in document.ready:
$("#element").click(function () {
    if (!processing) {
        processing = true;
        $("#element2").animate({"blah": "blah"}, 1000, "easeOutBounce", function () {
            processing = false;
        });
    }
});

这样,无论你多次点击原始元素,它都处于“处理”状态,直到动画完成。

相关问题