Jquery禁用“下一步”按钮,直到动画结束

这很酷,我对此很熟悉。 但是我希望下一个和上一个按钮保持可见,只是不能点击。 在我的特殊情况下,按钮是图像,是设计的一部分。 我只是希望用户在动画结束前无法点击。

$(function(){ $("#previous").bind("click", Previous); $("#next").bind("click", Next); }); function DoAnimation() { $("#previous,#next").unbind("click"); $('#id').animate( complete: function() { $(this).after('
Animation complete.
'); $("#previous").bind("click", Previous); $("#next").bind("click", Next); } }); } function Previous() { } function Next() { }

还有一种技巧:

 $(".next,.prev").click(function(){ if ($('#my_animated_elelement').is(':animated')) { return false; } }) 

我猜你有图片onclick的javascript调用,使用变量MyApp.IgnoreNextPrevClicks来标记onclick处理程序是否执行。

 MyApp={} MyApp.IgnoreNextPrevClicks=false; MyApp.PrevClick=function() { if(MyApp.IgnoreNextPrevClicks) return; //real work goes here } 

现在在调用jquery animator之前,将MyApp.IgnoreNextPrevClicks设置为true,并在动画结束后将其设置为false(使用jquery动画回调)。

 function btn() { $('#btn').one('click', function(){ //call your animation function here. setTimeout(btn, animation duration); }); } 
 $('#mybtn').attr("disabled","disabled"); // to Disable Button $('#mybtn').removeAttr("disabled"); // to Enable Disabled button