在練習中,我們常常遇到一種問題就是,怎么實現頁面N秒之后自動跳轉呢?
我自己遇到問題和查找資料,總結了3個方法
方法1: 最簡單的一種:直接在前面<head>里面添加代碼:
復制代碼
代碼如下:
<span > </span><span ><meta http-equiv="refresh" content="3;URL=res.html"> </span>
<span >//3秒之后自動跳轉到res.html,兩個屬於同一文件下面,要是需要跳轉到jsp頁面,就需要在url里面填寫url地址————(瀏覽器的地址欄里面寫入的數據,如:http://localhost:8080/TestDemo/1.jsp)</span>
方法2:
需要用到window里面的方法:
setTimeout 經過指定毫秒值后計算一個表達式。
例子:
復制代碼
代碼如下:
window.setTimeout("alert('Hello, world')", 1000);
這個是寫在js代碼里面的;
具體實現如下:
復制代碼
代碼如下:
<script type="text/javascript">
onload=function(){ <span > </span>//在進入網頁的時候加載該方法 setTimeout(go, 3000); <span > </span> /*在js中是ms的單位*/ }; function go(){ location.href="http://localhost:8080/TestDemo/index.jsp"; } </script> //3秒之后自動執行go方法,直接跳轉到index.jsp頁面
方法3:
上面兩個例子的缺陷就是能夠實現跳轉,但是不知道是什么時候跳轉.實現倒數3-2-1;
settimeout方法已經做不了了;
setInterval 每經過指定毫秒值后計算一個表達式。
沒過相同的時間,就會執行相應的函數。具體的實現方法:
復制代碼
代碼如下:
<script type="text/javascript">
onload=function(){ setInterval(go, 1000); }; var x=3; //利用了全局變量來執行 function go(){ x--; if(x>0){ document.getElementById("sp").innerHTML=x; //每次設置的x的值都不一樣了。 }else{ location.href='res.html'; } } </script>