js或jqury怎麼樣第一個按鈕點擊後等待10秒另一個按鈕才可以操作?
我做個網絡打印控件,因為要等待加載完訂單才打印,如果加載不完他就會只打印出他所加載出來的訂單。所以我想做個按鈕查詢完,等待10秒後,另一個列印的按鈕才可以進行點擊列印。
js或jqury怎麼樣第一個按鈕點擊後等待10秒另一個按鈕才可以操作?
我做個網絡打印控件,因為要等待加載完訂單才打印,如果加載不完他就會只打印出他所加載出來的訂單。所以我想做個按鈕查詢完,等待10秒後,另一個列印的按鈕才可以進行點擊列印。
1、你可以使用disabled的方式來控制第二列印按鈕;
button1預設disabled為false,可操作;
button2預設disabled為true,無法操作
<code class="javascript">$('#button1').click(function(){ //逻辑........ setDisable(); }); function setDisable () { setTimeout(function(){ //10秒后移除第二个按钮disabled属性 $('#button2').removeAttr("disabled"); },10000); }</code>
2、你也可以隱藏第二個列印按鈕
<code class="javascript">$('#button1').click(function(){ //逻辑........ setDisable(); }); function setDisable () { setTimeout(function(){ //十秒后显示第二个按钮 $('#button2').css("display","block"); },10000); }</code>
setTimeout
點擊完第一個按鈕後,給另一個按鈕一個 disabled="disabled" 同時給他一個計時器,計時結束,disabled=false,可以試試
點擊後,然後給他一個定時器setTimeout,再執行另一個按鈕
不喜歡別人說的太簡單,太不容易理解了,要的肯定不是簡短的回答。
原理是:在你點擊第一個按鈕後,再過10秒鐘,給第二個按鈕添加點擊事件
<code class="js">$('#btn-1').click(function () { //这里写#btn-1 点击时要执行的代码 setTimeout(function(){ $('#btn-2').click(function () { //这里写#btn-1 点击时要执行的代码 }); },10000); });</code>
假設按鈕分別為A,B
<code>var $btnA = $('#btn-a'); var $btnB = $('#btn-b'); $btnB.prop('disabled',true); $btnA.on('click',function(){ setTimeout(function(){ $btnB.prop('disabled',false); },10000); }); $btnB.on('click',function(){ //打印 });</code>
關鍵是
<code>$btnB.prop('disabled',false);</code>
如果你的按鈕A中有非同步程式碼,需要等待後端回傳再啟用按鈕B,請將上面這行程式碼放到回呼函數中執行。