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

脚本1.js里面是广告的弹窗代码,我想让html打开后延迟5秒加载并运行1.js我是这样做的:<html><head></head><body><script>setTi... 脚本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的代码内容了,没有运行这个广告弹窗脚本。求完整代码。多谢~~
展开
 我来答
哑然o3o
2018-11-29 · TA获得超过7547个赞
知道答主
回答量:40
采纳率:100%
帮助的人:6436
展开全部

通过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

前端报错
2015-04-29 · 前端开发技术分享,分析
前端报错
采纳数:1573 获赞数:7026

向TA提问 私信TA
展开全部
setTimeout( function(){
//add your code
}, 5 * 1000 );//延迟5000毫米
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
abiao5555
2011-08-25 · TA获得超过591个赞
知道小有建树答主
回答量:516
采纳率:0%
帮助的人:496万
展开全部
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

写错了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老刀正能量
2011-08-25 · TA获得超过2011个赞
知道大有可为答主
回答量:1487
采纳率:0%
帮助的人:1540万
展开全部
改成以下即可!
<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里,效果一样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
从哲妍8H
2020-05-20 · TA获得超过222个赞
知道答主
回答量:408
采纳率:0%
帮助的人:28.5万
展开全部
一般有以下几种方式:
defer 属性
async 属性
动态创建DOM方式
使用jQuery的getScript方法
使用setTimeout延迟方法
让JS最后加载
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式