jq回调函数、jq一个函数执行完毕后再执行另一个函数

jq回调函数第一版

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <div class="div" style="width: 200px;height: 200px;background: red;"></div>
        <script type="text/javascript" src="../js/jquery-1.12.4.js" ></script>
        <script>
            $(".div").on('click',function(){
                auto(a);//参数就是个回调函数
            });
            /*点击之后调用的函数*/
            function  auto(callback){
                alert('1')
                callback&&callback();
            }
            /*回调函数*/
            function a(){
                alert('我是点击之后的回调函数')
            }
        </script>
    </body>
</html>

 

jq回调函数第二版

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            .div {
                width: 100px;
                height: 100px;
                background-color: red;
            }
        </style>
    </head>

    <body>
        <div class="div"></div>
        <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
        <script type="text/javascript">
            $(".div").on('click', function() {
                a(b);
            })

            function a(callBack) {
                $(".div").css('background', 'yellow')
                /*重点 定时器加以区分*/
                setTimeout(function() {
                    callBack && callBack();
                }, 1000);

            }

            function b() {
                $(".div").css('background', 'green')
            }
        </script>
    </body>

</html>

jq一个函数执行完毕后再执行另一个函数利用返回值

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            .div {
                width: 100px;
                height: 100px;
                background-color: red;
            }
        </style>
    </head>

    <body>
        <div class="div"></div>
        <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
        <script type="text/javascript">
            var  off=false;
            $(".div").on('click', function() {
                console.log('a函数执行之前'+off+'')
                a();
                console.log('a函数执行完毕'+off+'')
                
                if(off){
                    console.log('a函数执行完毕执行b函数'+off+'')
                    b();
                }
            })

            function a() {
                $(".div").css('background', 'yellow')
                off=true;
            }

            function b() {
                $(".div").css('background', 'green')
            }
        </script>
    </body>

</html>

 

posted @ 2017-07-06 17:23  small-match  阅读(9935)  评论(0编辑  收藏  举报