在DOM不用拼html代码变数据的技巧,ajax分页案例
来源:互联网 发布:微信怎样淘宝买东西 编辑:程序博客网 时间:2024/04/30 10:33
在做一旅游网站的项目的时候,ajax更新页面数据的时候,不想拼html代码,灵感突然来了,想到了一个个人感觉很爽的办法。
就是在先取得原来网页中静态的DOM数据,然后保存在一个变量中,然后把原来的删除。不过这个地方要注意的地方是,不能直接改编这个变量里面的数据,要复制一个后再改变里面的数据。如果你这个变量值使用一次直接改是没有问题的。因为你这样用会改变所有用这个变量添加到网页中的元素。
接下来我将用一个分页的案例看一下这个小技巧吧。
具体代码如下:
//启动分页 var page= new spliPage(); //用户评论后的及时刷新 $("#commentForm").on("submit",function(event){ event.preventDefault(); //将分页对象传入提交提交函数,用来刷新数据 submitComment(page); });//定义一分页对象 function spliPage(){ var self=this; //public self.cur=0; //privet var curent=0; //装改变数据的容器 var content=$("#pageContent"); //改变数据的模型 var model=$("#moudel"); var allPage=$("#page li.pageNumber"); var next=$("#next"); var goodsId=$("#goodsid").val(); //自己封装的一个添加index属性的函数,可以不用管,给页码添加index属性来判断用点击是哪一页 tool.addAttrIndex(allPage); //清除容器中的数据 content.html(""); self.updata=function(rePage,old){ $.post('action.php', {"act": 'updatePage',"page":rePage,"goodsId":goodsId}, function(data) { content.html(""); if(typeof data==="object"){ for(var i=0,k=data.length;i<k;i++){ //改变模型中的数据 model[0].getElementsByTagName("span")[0].innerHTML=data[i].user; model[0].getElementsByTagName("p")[0].innerHTML=data[i].content; model[0].getElementsByTagName("time")[0].innerHTML=data[i].time; //这步中的clone非常重要 content.append(model.clone(true)); } if(typeof old !="undefined"){ $(allPage[old]).removeClass('active'); } $(allPage[rePage]).addClass('active'); //当前的页面 curent=rePage; self.cur=curent; } },'JSON'); } allPage.click(function(event) { var index=parseInt($(this).attr('index')); self.updata(index,curent); }); next.click(function(event) { var index=curent+1; if(index<allPage.length){ self.updata(index,curent); }else{ alert("已经是最后一页了"); } }); //初始化页面数据 self.updata(0); } function submitComment(page){ var message=$("#message").val(); var goodsId=$("#goodsid").val(); var grade=$("#userCord").attr('number'); $.post('action.php', {"act": 'usercomment', "message":message, "goodsId":goodsId, "grade":grade}, function(data) { //用这个可以直接看发到后台的报错 //document.write(data); if(data=="1"){ alert("评论成功"); $("#message").val(""); page.updata(0,page.cur); }else{ alert("评论失败"); } }); }
1 0
- 在DOM不用拼html代码变数据的技巧,ajax分页案例
- ajax 笔记--不用刷新实现数据的分页显示
- ajax 笔记--不用刷新实现数据的分页显示 (上)
- ajax 笔记--不用刷新实现数据的分页显示 (下)
- ajax 笔记--不用刷新实现数据的分页显示
- [Ajax]便于在html页面中引用javascript显示后台数据的一段ajax代码
- ajax 笔记--不用刷新实现数据的分页显示 2 (上)
- ajax 笔记--不用刷新实现数据的分页显示 2 (下)
- ajax 笔记--不用刷新实现数据的分页显示 2 (上)
- html dom案例
- html dom小案例
- ajax请求数据,后台提供数据返回json, 前台js拼html,回填
- ajax案例-ajax+js+dom+json+php+mysql仿google分页1
- DOM操作HTML实现AJAX的及时性
- DOM操作HTML实现AJAX的及时性
- 【技巧】HTML代码的使用 之 获取页面数据
- 中关村创业大街上的“野心”青年:在这里不用拼爹
- 分析自定义数据分页标签的案例
- JAVA中对BIO,NIO,AIO的理解
- Android之Adb端口占用问题
- 读取csv文件
- 洛谷 P1005 矩阵取数游戏
- 安装x11vnc远程管理
- 在DOM不用拼html代码变数据的技巧,ajax分页案例
- 面试过程中的一点心得以及之后应该怎么做
- 下了这么久的雨,也阻止不了疯狂的外卖小哥…
- 【那些年遇到过的面试题】What U know about cloud?
- 一个小巧的C++Log输出到文件类
- Vector Drawable、Animated Vector Drawable
- UITableView——1
- APUE [Linux C 编程开发环境(工具链,编译,汇编,链接,库)基础知识与实践]
- 安卓选项卡动态滑动