论坛快速导航: 2009年素材区 矢量素材 图片素材 网页模板 原创作品 佳作欣赏 网页设计专区 摄影之家 PhotoShop CorelDraw Illustrator | 在线繁体字转换翻译工具 WAP RSS
返回简洁设计网首页
最新教程 推荐教程 热门教程
当前位置: 简洁设计网 > 设计教程 > 网站制作 > 网页技巧 > 正文
网页技巧:客户端模版的应用


我试图使用客户端模板来实现这样的效果,下面就是改写后的实例:

demo 2:


运行代码框


看一下前后两个demo的区别

demo1中的:

...
...
function getData(){
  /*假设data就是用xmlhttp获取到的数据*/
  var ph = document.getElementById('post_header');
  var pt = document.getElementById('post_title');
  var pc = document.getElementById('post_content');
  ph.innerHTML = "("+data.id+")<a href='mailto:"+data.mail+"'>"+data.name+"</a>于"+data.time+"发表:";
  pt.innerHTML = data.title;
  pc.innerHTML = data.content;
}
...
...
<div id="post">
<fieldset>
<legend id="post_header">标题</legend>
<h4 id="post_title"></h4>
<p id="post_content"></p>
</fieldset>
</div>
...
...

demo2中的:

...
...
function getData(){
  var p = document.getElementById('post');
  var t = p.innerHTML;
  t = t.replace(/<!--{(.*?)}-->/g,function(a,b){
    var v = "";
    try{
      v = eval("data."+b);
    }
    catch(e){}
    return v;
  });
  p.innerHTML = t;
}
...
...
<div id="post">
<fieldset>
<legend id="post_header">(<!--{id}-->)<a href='mailto:<!--{mail}-->'><!--{name}--></a>于<!--{time}-->发表:</legend>
<h4 id="post_title"><!--{title}--></h4>
<p id="post_content"><!--{content}--></p>
</fieldset>
...
...

     看到区别了吗?我的模板实现和传统的ajax实现不同,我是将数据的结构从js中抽取出来,提前嵌入到html代码中(我用<!--{...}-->来代表模板信息),从而做到降低js代码中代码与页面结构的耦合。

上一页  [1] [2] [3] [4] [5] 下一页

点击进入论坛和大家一起交流设计,分享设计素材,结交设计朋友
设为首页 | 加入收藏 | 关于我们 | 联系我们 | 合作伙伴 | 版权信息 | 广告联系 | 友情链接 | 网站地图
版权所有 简洁设计网 [www.jianjie8.com] 您电脑的分辨率是 像素
Copyright 2008-2015 Www.Jianjie8.Com All Rights Reserved
陇ICP备05003399号