怎么让html里的js脚本延迟5秒运行?

脚本1.js里面是广告的弹窗代码,我想让html打开后延迟5秒加载并运行1.js
我是这样做的:
<html>
<head>
</head>
<body>
<script>
setTimeout(func,"5000");

function func()
{
document.writeln("<script src=\"http:\/\/www.abc.com\/js\/1.js\" charset=\"gb2312\"><\/script>")
}
</script>
</body>
</html>
可是不行,5秒后原来的HTML页的内容不显示了,页面跳转到www.abc.com/js/1.js的代码内容了,没有运行这个广告弹窗脚本。求完整代码。多谢~~

通过setTimeout函数调用。如下:

setTimeout( function(){
//add your code
}, 5 * 1000 );//延迟5000毫米

setTimeout() 的第一个参数是含有 JavaScript 语句的字符串。这个语句可能诸如 "alert('5 seconds!')",或者对函数的调用,诸如 alertMsg()"。

第二个参数指示从当前起多少毫秒后执行第一个参数。

扩展资料

延迟运行,setTimeout函数用法的具体事例:

<script language="javascript">

function test(obj)

{

alert(obj);

setTimeout("test()",1000);

}

</script>

<input id="testButton" type="button" onclick="test(this)">

setTimeout里的test()没带参数,第一次显示[object],1000毫秒之后显示undefined,变量尚未赋值,也就是说用此方式可以实现带参数的方法循环,但是参数被销毁。

其实这很简单就可以实现,不必写那么长的代码来实现。

参考资料

百度百科-setTimeout

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-04-29
setTimeout( function(){
//add your code
}, 5 * 1000 );//延迟5000毫米
第2个回答  2011-08-25
function func()
{
var script = document.createElement("script");
script.setAttribute("src","http://www.abc.com/js/1.js");
script.setAttribute("charset","gb2312");
document.getElementByTagsName("head")[0].appendChild(script);
}追问

代码出错~~

追答

getElementByTagsName 改为
getElementsByTagName

写错了

追问

代码不报错了,可页面没有任何反应。

追答

不能使用document.write(),因为触发事件的时候,document已经加载完毕,文档加载完毕后调用document.write将重写document。

把你的1.js文件 第一句改为 alert(1); 调试一下,
注意编码,因为你的script 声明为gb2312,如果1.js保存为uft-8是不能运行的

追问

alert(1)不会用,还是没有搞明白,能不能给我个alert(1)的简单格式。

追答

你妹啊,有这几天时间你都可以把JS学完了,还在这问?

本回答被提问者和网友采纳
第3个回答  2011-08-25
改成以下即可!
<html>
<head>
</head>
<body>
<script>
function func(){
document.write("<scr"+"ipt type=\"text/javascript\" src=\"http://www.abc.com/js/1.js\" charset=\"gb2312\"></sc"+"ript>");
}
setTimeout(func,"5000");
</script>
</body>
</html>追答



function func(){
document.write("");
}
setTimeout(func,"5000");

那入在HEAD之中看看呢?

追问

不行的,放到head里,效果一样。

第4个回答  2020-05-20
一般有以下几种方式:
defer 属性
async 属性
动态创建DOM方式
使用jQuery的getScript方法
使用setTimeout延迟方法
让JS最后加载
相似回答