如何局部刷新?
我在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
HTML code
<%
ajax=requeset.querystring("ajax")
if ajax="1" then '为ajax请求,
showdate()
response.end'=========这里关键防止输出下面的其他html代码,这些代码之前不要有html代码,要不会一起输出
end if
function showdate()
response.write showdate
end 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本地更新时间。