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>