jQuery实现列表内容的动态载入特效


Posted in Javascript onAugust 08, 2015

采用Jquery实现的列表数据动态更新效果,更新的数据可以是ajax请求的数据。

CSS:

.main {
 width: 100%;
 margin-top: 100px;
 text-align: center;
 font-size: 12.5px;
}

th, td {
 border: 1px solid #ccc;
 line-height: 40px;
 padding-left: 5px;
}
.item:hover {
 background-color: #efefef;
}
.item:nth-child(2n) {
 background-color: #efefef;
}
.ListView {
 width: 600px;
 overflow: hidden;
 margin: 0 auto;
 padding: 10px;
 height:372px;
 border: 1px solid #dddddd;
}
.ListView .c {
 width: 1200px;
 margin: 0 auto;
 border-collapse: collapse;
}
.Item {
 border-bottom: 1px dashed #dddddd;
 padding: 10px 0 10px 0;
 overflow: hidden;
 margin-left:600px;
}
.Item span {
 float: left;
 text-align: left;
}
.Item span:first-child {
 color: #6AA8E8;
}
.Item span:last-child {
 text-align: center;
}

HTML

<div class="main">
 <div class="ListView">
  <div class="c">
  <div class="Item"> <span>test</span> <span>男/0</span> <span>四川省,成都市,锦江区</span> <span>详细说明</span> </div>
  <div class="Item"> <span>test</span> <span>男/0</span> <span>四川省,成都市,锦江区</span> <span>详细说明</span> </div>
  <div class="Item"> <span>test</span> <span>男/0</span> <span>四川省,成都市,锦江区</span> <span>详细说明</span> </div>
  <div class="Item"> <span>test</span> <span>男/0</span> <span>四川省,成都市,锦江区</span> <span>详细说明</span> </div>
  <div class="Item"> <span>test</span> <span>男/0</span> <span>四川省,成都市,锦江区</span> <span>详细说明</span> </div>
  <div class="Item"> <span>test</span> <span>男/0</span> <span>四川省,成都市,锦江区</span> <span>详细说明</span> </div>
  <div class="Item"> <span>test</span> <span>男/0</span> <span>四川省,成都市,锦江区</span> <span>详细说明</span> </div>
  <div class="Item"> <span>test</span> <span>男/0</span> <span>四川省,成都市,锦江区</span> <span>详细说明</span> </div>
  <div class="Item"> <span>test</span> <span>男/0</span> <span>四川省,成都市,锦江区</span> <span>详细说明</span> </div>
  <div class="Item"> <span>test</span> <span>男/0</span> <span>四川省,成都市,锦江区</span> <span>详细说明</span> </div>
 </div>
 </div>
</div>
<p style="text-align:center;"><a href="javascript:void(0);" onClick="ListView.Update();">刷新数据</a></p>

JS

<script type="text/javascript" src="/js/jquery-1.8.0.min.js"></script>
<script type="text/javascript">
$(function(){
 ListView.Init();
});
var ListView={
 Init:function(){
 $(".Item span").css("width",$(".ListView").width()/4+"px");
 for(var i=0;i<$(".Item").length;i++){
 var target=$(".Item")[i];
 $(target).animate({marginLeft:"0px"},300+i*100);
 }
 },
 Update:function(){
 $(".ListView .c .Item").remove();
 for(var i=0;i<10;i++){
 var newItem=$("<div class=\"Item\"> <span>test</span> <span>男/"+i+"</span> <span>四川省,成都市,锦江区</span> <span>详细说明</span> </div>");
 $(newItem).find("span").css("width",$(".ListView").width()/4+"px");
 $(".ListView .c").append(newItem);
 $(newItem).animate({marginLeft:"0px"},300+i*100);
 }
 }
}
</script>

附上演示效果 http://demo.3water.com/js/2015/jquery-dtlb

效果是不是非常棒呢,接下来我们再来看看瀑布流的实现思路和js控制动态加载的代码

下面的代码主要是控制滚动条下拉时的加载事件的

在下面代码说明出,写上你的操作即可,无论是加载图片还是加载记录数据  都可以 

别忘了引用jquery类库

$(window).scroll(function () {
  var scrollTop = $(this).scrollTop();
  var scrollHeight = $(document).height();
  var windowHeight = $(this).height();
  if (scrollTop + windowHeight == scrollHeight) {

  //此处是滚动条到底部时候触发的事件,在这里写要加载的数据,或者是拉动滚动条的操作

//var page = Number($("#redgiftNextPage").attr('currentpage')) + 1;
//redgiftList(page);
//$("#redgiftNextPage").attr('currentpage', page + 1);

  }
 });

解析:

判断滚动条到底部,需要用到DOM的三个属性值,即scrollTop、clientHeight、scrollHeight。
scrollTop为滚动条在Y轴上的滚动距离。
clientHeight为内容可视区域的高度。
scrollHeight为内容可视区域的高度加上溢出(滚动)的距离。
从这个三个属性的介绍就可以看出来,滚动条到底部的条件即为scrollTop + clientHeight == scrollHeight。(兼容不同的浏览器)。

Javascript 相关文章推荐
jquery toolbar与网页浮动工具条具体实现代码
Jan 12 Javascript
js如何获取object类型里的键值
Feb 18 Javascript
兼容Firefox的Javascript XSLT 处理XML文件
Dec 31 Javascript
javascript的BOM汇总
Jul 16 Javascript
ExtJS 4.2 Grid组件单元格合并的方法
Oct 12 Javascript
jquery在vue脚手架中的使用方式示例
Aug 29 jQuery
vue translate peoject实现在线翻译功能【新手必看】
Jun 07 Javascript
详解Angular6学习笔记之主从组件
Sep 05 Javascript
详解 微信小程序开发框架(MINA)
May 17 Javascript
vue 解决遍历对象显示的顺序不对问题
Nov 07 Javascript
vue 组件销毁并重置的实现
Jan 13 Javascript
Angular+Ionic使用queryParams实现跳转页传值的方法
Sep 05 Javascript
jQuery实现下拉框选择图片功能实例
Aug 08 #Javascript
jQuery实现指定内容滚动同时左侧或其它地方不滚动的方法
Aug 08 #Javascript
jQuery实现的Div窗口震动效果实例
Aug 07 #Javascript
jQuery实现时尚漂亮的弹出式对话框实例
Aug 07 #Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
Aug 07 #Javascript
jQuery基于ajax实现星星评论代码
Aug 07 #Javascript
jQuery实现网页抖动的菜单抖动效果
Aug 07 #Javascript
You might like
目录,文件操作详谈―PHP
2006/11/25 PHP
通过具体程序来理解PHP里面的抽象类
2010/01/28 PHP
php动态实现表格跨行跨列实现代码
2012/11/06 PHP
PHP模板解析类实例
2015/07/09 PHP
php+mysql实现的二级联动菜单效果详解
2016/05/10 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
2018/04/04 PHP
js 事件小结 表格区别
2007/08/13 Javascript
JQuery+JS实现仿百度搜索结果中关键字变色效果
2011/08/02 Javascript
解决extjs grid 不随窗口大小自适应的改变问题
2014/01/26 Javascript
按下回车键指向下一个位置的一个函数代码
2014/03/10 Javascript
函数式 JavaScript(一)简介
2014/07/07 Javascript
nodejs下打包模块archiver详解
2014/12/03 NodeJs
jQuery实现的漂亮表单效果代码
2015/08/18 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
2017/09/18 jQuery
基于IView中on-change属性的使用详解
2018/03/15 Javascript
Vue实现6位数密码效果
2018/08/18 Javascript
解决微信小程序防止无法回到主页的问题
2018/09/28 Javascript
详解微信小程序网络请求接口封装实例
2019/05/02 Javascript
Vue 自适应高度表格的实现方法
2020/05/13 Javascript
移动端JS实现拖拽两种方法解析
2020/10/12 Javascript
PyQt5打开文件对话框QFileDialog实例代码
2018/02/07 Python
python3的输入方式及多组输入方法
2018/10/17 Python
Python使用combinations实现排列组合的方法
2018/11/13 Python
Django restframework 源码分析之认证详解
2019/02/22 Python
python中while和for的区别总结
2019/06/28 Python
Python之指数与E记法的区别详解
2019/11/21 Python
python matplotlib中的subplot函数使用详解
2020/01/19 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
2020/02/12 Python
在pytorch中实现只让指定变量向后传播梯度
2020/02/29 Python
自荐信怎么写好
2013/11/11 职场文书
女生抽烟检讨书
2014/10/05 职场文书
招标保密承诺书
2015/01/20 职场文书
罚款通知怎么写
2015/04/22 职场文书
文艺有韵味的诗句(生命类、亲情类...)
2019/07/11 职场文书