博客园添加网摘成功后倒计时关闭页面的JavaScript脚本
//页面1
<html>
<head>
<title>Timeout Example</title>
<script type="text/javascript">
var win;
functin OpenWindow()
{
win=window.open('1.htm','wroxWindow', 'width=300,height=300,left=10,top=10');
}
function CloseWindow()
{
setTimeout(function() {
win.close());
}, 3000);
}
</script>
</head>
<body>
<p>This will open a new window/tab:
<input type="button" value="收藏该文" onclick="OpenWindow()" />
</p>
</body>
</html>
//页面2
<html>
<head>
<title>Timeout Example</title>
<script type="text/javascript">
function closeIt() {
self.close();
}
function doclose()
{
setInterval("autoclose()",1000);
}
function autoclose()
{
var timeNum=document.getElementById("time").innerHTML;
if(timeNum <= 1)
closeIt();
document.getElementById("time").innerHTML = timeNum - 1;
if (timeNum < 1)
document.getElementById("block_temp").innerHTML = "";
}
</script>
</head>
<body onload="doclose();">
<div>
网摘保存成功!<br />
<span id="block_temp"><span id="time">2</span>秒后<a href="javascript:void(0);" onclick="closeIt()">自动关闭</a></span>
</div>
</body>
</html>
首先页面2是页面一使用window.open('1.htm','wroxWindow', 'width=300,height=300,left=10,top=10'); 打开,如果直接打开,它会作为一个标签页,关闭的时候,浏览器提示关闭,不符合要求。
最近刚学习Javascript,其实我一开始想这样实现这种效果,页面一打开页面2,页面2中有个收藏按钮,点击后调用父窗口中的关闭功能,即 CloseWindow()函数,但是页面2作为一个子窗口,调用window.parent. CloseWindow()怎么不行呢?
没有查到相关子窗口调用父窗口的资料(还会研究一下),只好看看博客园是怎么实现的,了解了,为了实现2、1、倒计时的效果,利用setInterval("autoclose()",1000);还是比较有技巧性的,学习了。
出处:http://www.cnblogs.comfreshman1987/
本文版权归作者所有,欢迎转载,但未经作者同意不能转载,否则保留追究法律责任的权利。