关于执行后弹窗问题。连续弹出窗口三次,怎么阻止冒泡,只弹出一次。

来源:5-2 jQuery中动画animate(下)

淡水狗

2017-07-22 19:15

 <select id="animation">
        <option value="1">动画step动画</option>
        <option value="2">动画progress回调</option>
    </select>
    <a></a>
    <input id="exec" type="button" value="执行动画">
    <script type="text/javascript">
        $("#exec").click(function(){
        var v = $("#animation").val();
        var a = $("#aaron");
        if(v == "1"){
            a.animate(
            { height:'50'},
            {duration:2000,
             step:function(now,fx){
                a.text('高度的改变值:'+now)
             } 
            })
        }
        else if(v == "2"){
             a.animate( 
            {height:'70'},
            {duration:2000,
             progress:function(now,fx){
               a.text('进度'+arguments[1]),
               alert('执行结束');
             }
            })    
        }
    })
    </script>

连续弹出窗口三次,没弹出一次 进度增加一次。怎么能只弹出一次。然后进度直接从0-1。

写回答 关注

1回答

  • 白小九
    2017-07-22 22:13:48

    这不是冒泡,也不只弹出三次。你把alert改成console.log看看就知道了。

    如果要只弹出一次,那就把alert写在complete里:

    a.animate{..., {..., complete: function(){alert("ok")}}}

    至于进度直接从0变成1,这个我不知道,大概要用.stop()方法吧。

jQuery基础(四)—动画篇

jQuery基础教程动画篇,讲解jQuery基础开启动画修炼

85049 学习 · 262 问题

查看课程

相似问题