首頁 > 後端開發 > php教程 > javascript - js或jqury怎麼第一個按鈕點擊後等待10秒另一個按鈕才可以操作?

javascript - js或jqury怎麼第一個按鈕點擊後等待10秒另一個按鈕才可以操作?

WBOY
發布: 2016-10-23 00:12:51
原創
1383 人瀏覽過

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,請將上面這行程式碼放到回呼函數中執行。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板