想实现类似线程sleep几秒钟的现象,虽然看到这个需求,我知道是要用这个setTimeout()方法来实现,J,avaS,cript延迟加载的功能,
但是不论自己以前的笔记还是说,自己在网上又搜索的例子。
都是乱的一塌糊涂,主要错误如:setTimeout(方法名(参数),“数字”),以为这样就可以了。
但是js也不报错,就是达不到自己想要的效果。
真是误人子弟啊。
主要是参数的使用不正确,如下:
1.参数一:
第一个参数是要执行的方法,只是方法名字不应该带括号和参数;
2.参数二:
第二个参数是要执行的时间,传入数字,不要带引号,带引号就是字符串啦。(哦,我又测试了下,带引号是可以的,好吧,这条略过。。。)
而且你要是打算在for循环里面使用,也不是不可以,写个回调方法就可以了。
而且这个方法是可以脱离j,Q,uery包,仅仅需要个浏览器就可以执行了,当然,浏览器是支持J,avaScript的。
我有如下代码,示范,是如何回调,循环打开五次网页的。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<div class="jumbotron">
<h1>心灵的鸡汤</h1>
<p>生活不止于眼前的苟且,还有明天和后天的呢。</p>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-md-4">
<h2>你</h2>
<p>良辰美景奈何天,为谁辛苦为谁甜,这年华青涩逝去,明白了时间。</p>
</div>
<div class="col-md-4">
<h2>我</h2>
<p>浅望幸福,不写忧伤,红尘三千,不道惆怅,不问花开几许,只问浅笑安然。</p>
</div>
<div class="col-md-4">
<h2>他</h2>
<p>不管昨夜经历了怎样的泣不成声,早晨醒来这个城市依然车水马龙。</p>
</div>
</div>
</div>
</body>
</html>
<script>
var i = 0;
openNew(0);
/**
* 打开新窗口
*/
function openNew() {
if (i < 5) {
i++;
window.open("https://www.baidu.com");
setTimeout(openNew,5000);
} else {
return false;
}
}
setTimeout("要延时加载的方法",1000);