2012-09-26 135 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