首页 | 站长免费中心 | 新手上路 | 网站运营 | 网页制作 | 图片设计 | 动画设计 | 网页编程 | 网页特效 | 本站专题 | 虚拟主机 | 域名注册 | 网站建设 | 程序下载
       免费空间资源 | 新闻咨询 | 免费域名 | 免费网盘 | 网站推广 | 网站策划 | 建站经验 | 网站优化 | 网页代码 | 源码下载 | 音乐小偷 | 网络赚钱 | 论坛交流
网站建设
网站建设
虚拟主机
虚拟主机
域名注册
域名注册
711网络首页
站长工具
站长工具
网站源码
网站源码
站长论坛
站长论坛

 711网络 网页制作心得技巧

网页无闪烁刷新技术

来源: 互联网    日期:2007-1-13 17:32:59
 

    无刷新实现的几点要点: [转自:711网络工作室 http://www.tc711.com]

    1,要设置好获得数据的url
    2,要实现数据的调用
    3,要实现数据的无刷新  [转自:711网络工作室 http://www.tc711.com]

    先看js是怎样实现的

    以下是lesen的利用js的无刷新
    

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <script language="javascript" type="text/javascript">
    <!--关键在这个函数-->
    function GetData(url)
    {
     try
     {
     DataLoad.src = url;
     }
     catch(e)
     {
     return false;
     }
    }
    </script>
    <script id="DataLoad" language="javascript" type="text/javascript" defer></script>
    </head>

    <body>
    <input type="button" name="Submit" value="请求" onClick="GetData('dataload.aspx')">
    </body>
    </html>
    

    相信大家也许已经看过这代码,这个是利用onClick事件实现数据库更新加载的
    但是数据调用和自动刷新还没有。

    所以我对这个作了如下修改
    

    <script language="javascript" type="text/javascript">
    function GetData(url)
    {
     url="login1.asp"
     try
     {
     DataLoad.src = url;
     }
     catch(e)
     {
     return false;
     }
     {
     var timeoutid = setTimeout("GetData()",2000)
     }
    }
    </script>
    <body>
    <script id="DataLoad" language="javascript" type="text/javascript" defer></script>
    <script language="javascript" type="text/javascript">
    <!--
    function MM_callJS(jsStr) { //v2.0
     return eval(jsStr)
    }
    //-->
    </script>

    <body onLoad="MM_callJS('GetData()')">
    <span id=xx></span>
    </body>

    先解释:
    

    url="login1.asp" 定义数据url
    var timeoutid = setTimeout("GetData()",2000) 定义GetData()这个的刷新时间

    <script language="javascript" type="text/javascript">
    <!--
    function MM_callJS(jsStr) { //v2.0
     return eval(jsStr)
    }
    //-->
    </script>

    <body onLoad="MM_callJS('GetData()')">
    利用 MM_callJS 这个实现网页下载时加载GetData()
    <span id=xx></span> 调用login1.asp里面的xx数据

    login1.asp 设置如下
    {
    xx.innerHTML="<%=("now")%>"
    }
    这样通过innerHTML我们就能调用数据了。

    此外还有一些实现无刷新的:

    如经典里的文件替换无刷新
    经典里的JS替换文件实现无刷新。

    <head>
    <script language="javascript">
     var value = "";
     var timeid = null;
     var ready = false;

     function showvalue() {
     ready = false;
     text.innerHTML = "请稍候……";
     if (scr.src == "1.js") scr.src = "2.js";
     else scr.src = "1.js";
     loadscr();
     }

     function loadscr() {
     if (ready) {
     text.innerHTML = value;
     }
     else {
     clearTimeout(timeid);
     timeid = setTimeout("loadscr();", 10);
     }
     }
     
    </script>
    </head>
    <BODY aLink=#000020 bgColor=#ffffff id=all link=#000020 text=#070155 topMargin=10 vLink=#000020 marginheight="10" marginwidth="10">
    <button type="button" onclick="showvalue();">切换</button>
    <span id="text"></span>
    <script id="scr" language="javascript" src=""></script>
    </body>

    1.js
    value = '这是第1个脚本';
    ready = true;

    2.js
    value = '这是第2个脚本';
    ready = true;

    只要加个定时间刷新 showvalue() 就会自动刷新了。

    还有的就是利用XML
    原理和方法大概和js的一样,只不过XML要求高一点而已

    <SCRIPT language=javascript>
    <!--
    function bar(){
    var oXMLDoc = new ActiveXObject('MSXML'); //创建'MSXML'对象
    sURL = "login.asp" //获取登陆状态数据的地址
    oXMLDoc.url = sURL; //load数据
    var oRoot=oXMLDoc.root; //获取返回xml数据的根节点
    if(oRoot.children != null)
    {
    //根据返回的数据在客户端显示
    xx.innerHTML=oRoot.children.item(0).text; //用户
    yy.innerHTML=oRoot.children.item(1).text; //时间
    hp.innerHTML=oRoot.children.item(2).text; //停留
    }
    var timeoutid = setTimeout("bar()",1500)
    } //每1.5秒重获一次数据,}
    //-->
    </SCRIPT>
    <script language="javascript" type="text/javascript">
    <!--
    function MM_callJS(jsStr) { //v2.0
     return eval(jsStr)
    }
    //-->
    </script>

    <body leftmargin="0" onLoad="MM_callJS('bar()')">
    yy:<span id=xx></span> xx:<span id=yy></span> hp:<span id=hp></span>

    login.asp

    <?xml version="1.0" encoding="gb2312" ?>
    <plan>
    <xx>更改就看到</xx>
    <yy>更改就看到</yy>
    <hp>1112311</hp>
    </plan>

    好了,该总结的都完了。希望这篇文章能对大家有所帮助。

    timeoutid = setTimeout("GetData()",2000)
    这个会比价耗资源的.

     



更多的网页无闪烁刷新技术请到论坛查看: http://BBS.TC711.COM



【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】 来源: 互联网    日期:2007-1-13 17:32:59   

发 表 评 论
查看评论

  您的大名:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
认证编码: 刷新验证码
点评内容: 字数0
  精品推荐  
  本月推荐  
  友情赞助  

关于我们 | 联系我们 | 广告投放 | 留言反馈 | 免费程序 | 虚拟主机 | 网站建设 |  网站推广 |  google_sitemap baidu_sitemap RSS订阅
本站所有资源均来自互联网,如有侵犯您的版权或其他问题,请通知管理员,我们会在最短的时间回复您
Copyright © 2005-2015 Tc711.Com All Rights Reserved 版权所有·711网络   蜀ICP备05021915号
110网监备案 信息产业备案 不良信息举报