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>