Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 运行JS函数按顺序运行onclick_Javascript_Html_Function_Onclick - Fatal编程技术网

Javascript 运行JS函数按顺序运行onclick

Javascript 运行JS函数按顺序运行onclick,javascript,html,function,onclick,Javascript,Html,Function,Onclick,我一直在尝试让这些函数按顺序运行,第一个使用onclick,第二个使用ID。我试图做的是让“加载”脚本运行,然后在“加载”超时后显示“结果”。提前谢谢你的帮助 HTML: 将setTimeout(“hide()”,1000)更改为setTimeout(hide,1000) 函数显示(){ console.log('show') document.getElementById(“加载”).style.display=“块”; setTimeout(()=>hide(),1000); } 函数hid

我一直在尝试让这些函数按顺序运行,第一个使用onclick,第二个使用ID。我试图做的是让“加载”脚本运行,然后在“加载”超时后显示“结果”。提前谢谢你的帮助

HTML:

setTimeout(“hide()”,1000)
更改为
setTimeout(hide,1000)
函数显示(){
console.log('show')
document.getElementById(“加载”).style.display=“块”;
setTimeout(()=>hide(),1000);
}
函数hide(){
console.log('hide')
document.getElementById(“加载”).style.display=“无”;
}

结果:
尝试切换

setInterval("hide()", 1000);


首先,按钮上有两个单击侦听器——一个是html,另一个是JS。这通常不是一个好主意,所以让我们删除一个html

然后,正如所指出的,您需要将函数而不是字符串传递到
setTimeout
setTimeout(hide,1000)

最后,点击的逻辑应该是:

  • 隐藏结果容器并显示加载图像

  • 计划在1秒内隐藏图像并显示容器

  • 实际将值放入容器中

  • 以下是一个片段:

    函数showLoading(){
    document.getElementById(“结果粘贴”).style.display=“无”;
    document.getElementById(“加载”).style.display=“块”;
    }
    函数showResult(){
    document.getElementById(“结果粘贴”).style.display=“块”;
    document.getElementById(“加载”).style.display=“无”;
    }
    $(函数init(){
    $('btn_copy')。在('click',函数(){
    var get_val=$('#result_copy').val();
    如果(!获取值){
    警报(“请输入一些值”);
    返回false;
    }
    showLoading();
    设置超时(显示结果,1000);
    $('#结果_粘贴')。文本(获取值);
    });
    });
    
    
    
    结果:
    我尝试了此代码,但结果脚本覆盖了加载脚本。我试图在设定的时间范围内显示加载,然后结果我尝试了这段代码,但结果脚本覆盖了加载脚本。我试图在设定的时间范围内显示加载,然后结果我尝试了这段代码,但结果脚本覆盖了加载脚本。我试图在设定的时间范围内显示加载结果,但结果不是最终代码。此代码只是演示如何正确使用
    setTimeout
    。感谢Treble修复了此问题。
    function show() {
        document.getElementById("loading").style.display = "block";
        setTimeout("hide()", 1000);
    }
    
    function hide() {
        document.getElementById("loading").style.display = "none";
    }
    
    $(function result() {
        $('#btn_copy').on('click', function () {
            var get_val = $('#result_copy').val();
            if (!get_val) {
                alert("Please Enter Some Value");
                return false;
            }
            $('#result_paste').text(get_val);
        });
    });
    
    setInterval("hide()", 1000);
    
    setInterval(hide(), 1000);