博客园添加网摘成功后倒计时关闭页面的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);还是比较有技巧性的,学习了。

 

posted @ 2012-08-21 16:05  摆脱菜鸟  阅读(247)  评论(0编辑  收藏  举报