如何局部刷新?
我在goahead里实现一个函数,叫showdate(),功能是显示系统时间的字符串。
然后在一个页面里这样调用函数显示系统时间:
<h5><% showdate(); %></h5>
如果我刷新页面,就能显示系统当时的时间。
现在我想仅刷新<h5><% showdate(); %></h5>这一部分内容而不是整个页面,那么有什么办法可以做到?
[解决办法]
不知道你刷新是什么意思,如果按按钮,那就加个按钮,调用一个函数刷新,比如
function renewtime(){
这里先算出当前的时间,假如结果是time,那么再调用
document.getElementById("mytime").innerHTML=time;
}
如果要自动刷新,比如没xx秒或分钟,则要先设计一个定时器,网上搜索一下,定时调用renewtime()就可以了。
我不是专业的,每次写东西都是查参考手册和网上找点案例改改,所以没法快速给你一个完整的答案,sorry。
[解决办法]
楼主:<h5 id="time"></h5>
以下是JS:<script type="text/javascript">
function showTime()
{
var today= new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
m=checkTime(m);
s=checkTime(s);
document.getElementById("time").innerHTML=h+":"+m+":"+s;
}
t=setInterval("showTime()",100);
function checkTime(x)
{
if (x < 10)
{
x="0"+x;
return x;
}
else
return x;
}
</script>
[解决办法]
很简单的 利用ajax 获取
1.定义个按钮 绑定个函数事件
2.在函数中利用ajax获取系统时间
[解决办法]
如2楼做法,用Ajax没必要
[解决办法]
setInterval定时启动ajax请求动态页,ajax请求的url加一个特别的参数以便识别是ajax请求,动态页判断是ajax请求的时候单独调用showdate()输出内容
示例代码如下,使用jq来实现
x.asp
<%ajax=requeset.querystring("ajax")if ajax="1" then '为ajax请求, showdate() response.end'=========这里关键防止输出下面的其他html代码,这些代码之前不要有html代码,要不会一起输出end iffunction showdate() response.write showdateend function%><script type="text/javascript" src="http://www.coding123.net/js/jquery.js"></script><script type="text/javascript">setInterval(function(){ $("#h5time").load("x.asp", {ajax:1}); },10000)//10秒启动一次</script>其他html代码<h5 id="h5time"><% showdate(); %></h5><!----加个ID,方便更新---->
[解决办法]
用jquery吧同志
[解决办法]
首次加载页面时获取服务器时间,之后使用JS本地更新时间。