javascript - js或jqury怎么第一个按钮点击后等待10秒另一个按钮才可以操作?
PHP中文网
PHP中文网 2017-04-11 13:29:27
[JavaScript讨论组]

js或jqury怎么样第一个按钮点击后等待10秒另一个按钮才可以操作?
我做个网络打印控件,因为要等待加载完订单才打印,如果加载不完他就会只打印出他所加载出来的订单。所以我想做个按钮查询完,等待10秒后,另一个打印的按钮才可以进行点击打印。

PHP中文网
PHP中文网

认证0级讲师

全部回复(6)
PHP中文网

不喜欢别人说的太简单,太不容易理解了,要的肯定不是简短的回答。

原理就是:在你点击第一个按钮后,再过10秒钟,给第二个按钮添加点击事件

$('#btn-1').click(function () {
    //这里写#btn-1 点击时要执行的代码
    
    setTimeout(function(){
        $('#btn-2').click(function () {
            //这里写#btn-1 点击时要执行的代码
            
        });
    },10000);
});
ringa_lee

1、你可以使用disabled的方式来控制第二打印按钮;

button1默认disabled为false,可操作;
button2默认disabled为true,不可操作

$('#button1').click(function(){
    //逻辑........
    setDisable();
});

function setDisable ()
{
    setTimeout(function(){
        //10秒后移除第二个按钮disabled属性
        $('#button2').removeAttr("disabled"); 
    },10000);
}

2、你也可以隐藏第二个打印按钮

$('#button1').click(function(){
    //逻辑........
    setDisable();
});

function setDisable ()
{
    setTimeout(function(){
        //十秒后显示第二个按钮
        $('#button2').css("display","block"); 
    },10000);
}
怪我咯

setTimeout

黄舟

点击完第一个按钮后,给另一个按钮一个 disabled="disabled" 同时给他一个计时器,计时结束,disabled=false,可以试一下

ringa_lee

点击后,然后给他个定时器setTimeout,再执行另一个按钮

怪我咯

假设按钮分别为A,B

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(){
    //打印
});

关键是

$btnB.prop('disabled',false);

如果你的按钮A中有异步代码,需要等待后端返回再启用按钮B,请将上面这行代码放到回调函数中执行。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号