JS設定定時器重新整理介面

來源:互聯網
上載者:User

連結到一個新視窗,我需要在這個新視窗執行完相應操作後關閉新視窗,重新整理最初的介面

可以設定一個定時器解決上面問題。

var newWin;var timer;function subWinClose() {    if (newWin.closed == true) {      alert('重新整理');        window.clearInterval(timer);    } }function open_win() {     newWin = window.open('http://www.111.com');     timer = window.setInterval("subWinClose()", 500);}


當開啟多個新介面後,關閉其中一個新介面,最初介面會一直的重新整理。導致上面的原因是因為全域變數的問題,timer會被新的介面覆蓋掉,所以需要改寫一下代碼。
function open_win() {   var newWin = window.open('http://www.111.com');   var timer = window.setInterval(function(){   if (newWin.closed == true) {         alert('重新整理');          window.clearInterval(timer);                }}, 500);}

知識點補充: setTimeout和setInterval的區別:
setTimeout和setInterval的文法相同。它們都有兩個參數,一個是將要執行的代碼字串,還有一個是以毫秒為單位的時間間隔,當過了那個時間段之後就將執行那段代碼。
不過這兩個函數還是有區別的,setInterval在執行完一次代碼之後,經過了那個固定的時間間隔,它還會自動重複執行代碼,而setTimeout只執行一次那段代碼。
function closeWin(){alert('重新整理');setTimeout('closeWin()',1000);}





聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.