2012-09-26 178 views
-2

可能重複:
Automatic page refresh如何自動刷新頁面

我發現這和關閉開關在線,並想用它來刷新頁面。如果用戶點擊「打開」,則會每隔5秒刷新頁面。如果他們點擊它將停止。有些人可以幫助我。這是我到目前爲止有:

<style> 



body{ 
font-family:Verdana, Geneva, sans-serif; 
font-size:14px;} 

.left{ 
float:left; 
width:120px;} 

#ajax{ 
float:left; 
width:300px; 
padding-top:5px; 
font-weight:700; 
} 

.clear{clear:both;} 

</style> 

</head> 

<body> 


</a></div> 
<div id="container"> 


<div class="left" id="1"></div> 
<div id="ajax"></div> 
    <div class="clear"></div> 

    <script type="text/javascript"> 

    $('#1').iphoneSwitch("on", 
    function() { 
     $('#ajax').load('on.html'); 
     }, 
     function() { 
     $('#ajax').load('off.html'); 
     }, 
     { 
     switch_on_container_path: 'iphone_switch_container_off.png' 
     }); 
    </script> 
+0

ID不能以數字 –

+3

@sushanthreddy開始 - 'id'可以以數字時下開始。 – ahren

回答

0

您可以啓用和禁用這樣的頁面刷新:

var refreshTimer; 

$('#button').iphoneSwitch("on", 
    function() { 
     refreshTimer = setTimeout(function(){ location.reload(true); }, 5000); 
    }, 
    function() { 
     clearTimeout(refreshTimer); 
    }, 
    { 
     switch_on_container_path: 'iphone_switch_container_off.png' 
    } 
); 

如果你想用ajax就可以使用這樣的事情(使用setInterval的)重新加載一些HTML:

​​

編輯

在本示例中,默認情況下頁面重新加載處於禁用狀態,當用戶使用它將使用的按鈕啓用它時直到上禁用

var refreshTimer; 

function enableTimer() 
{ 
    refreshTimer = setTimeout(function(){ location.reload(true); }, 5000); 
    window.location.hash = "#autoreload"; 
} 

function disableTimer() 
{ 
    clearTimeout(refreshTimer); 
    window.location.hash = ""; 
} 

$(function() { 

    $('#button').iphoneSwitch(
     (window.location.hash == "#autoreload" ? "on" : "off"), 
     enableTimer, 
     disableTimer 
    ); 

    if (window.location.hash == "#autoreload") 
     enableTimer(); 
}); 
+0

這隻刷新頁面一次,有沒有辦法讓它保持清爽,直到關閉。每當我點擊開關,它會刷新一次。 – Mike

+0

我已經更新了我的答案,這是你的意思嗎? – Bart

+0

請耐心等待我。這是我從http://papermashup.com/jquery-iphone-style-ajax-switch/下載完整腳本的地方。我不確定我做錯了什麼,但是當我嘗試添加代碼時,整個按鈕消失了。你能幫我多一點嗎?謝謝。 – Mike

0

爲什麼不使用簡單的超時JavaScript函數,如:

<script type="text/JavaScript"> 
    var timeoutPeriod = 5000; 
    function timedRefresh(timeoutPeriod) { 
     setTimeout("location.reload(true);",timeoutPeriod); 
    } 

</script> 

您可以在邏輯添加到僅在開關被點擊時運行此。

+0

我在線獲得了這個腳本,所以你可以解釋一下,我將如何放置你的代碼,以及它是用於「on」還是「off」功能。謝謝。 – Mike

+4

你應該真正開始學習你在做什麼,而不是複製粘貼你不知道它是如何工作的東西。 – PeeHaa

+0

你是對的,但我有一個截止日期,我得見面,只是真的需要幫助。 – Mike