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 相关文章推荐
JavaScript入门教程(10) 认识其他对象
Jan 31 Javascript
需要做特殊处理的DOM元素属性的访问
Nov 05 Javascript
jquery显示和隐藏div特效实例
Feb 27 Javascript
javascript中字符串的定义示例代码
Dec 19 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
Jun 19 Javascript
在JavaScript中调用Java类和接口的方法
Sep 07 Javascript
jQuery progressbar通过Ajax请求实现后台进度实时功能
Oct 11 Javascript
自学实现angularjs依赖注入
Dec 20 Javascript
基于vue-simplemde实现图片拖拽、粘贴功能
Apr 12 Javascript
Vue自定义指令写法与个人理解
Feb 09 Javascript
js实现倒计时器自定义时间和暂停
Feb 25 Javascript
Vue组件简易模拟实现购物车
Dec 21 Vue.js
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
雄兵连:天使彦天使彦为爱折翼,彦和炙心同时念动的誓言!
2020/03/02 国漫
php抓取https的内容的代码
2010/04/06 PHP
php查看网页源代码的方法
2015/03/13 PHP
人脸识别测颜值、测脸龄、测相似度微信接口
2016/04/07 PHP
兼容ie和firefox js关闭代码
2008/12/11 Javascript
javascript操作ul中li的方法
2015/05/14 Javascript
JavaScript提升性能的常用技巧总结【经典】
2016/06/20 Javascript
jQuery获取复选框选中的当前行的某个字段的值
2017/09/15 jQuery
AngularJS中table表格基本操作示例
2017/10/10 Javascript
详谈commonjs模块与es6模块的区别
2017/10/18 Javascript
浅谈JS函数节流防抖
2017/10/18 Javascript
Webpack优化配置缩小文件搜索范围
2017/12/25 Javascript
vue cli 3.x 项目部署到 github pages的方法
2019/04/17 Javascript
jQuery实现简单评论区功能
2020/10/26 jQuery
[01:06:54]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第二场 2月28日
2021/03/11 DOTA
python为tornado添加recaptcha验证码功能
2014/02/26 Python
Python的Django框架中if标签的相关使用
2015/07/15 Python
深入理解Python单元测试unittest的使用示例
2017/11/18 Python
python中将一个全部为int的list 转化为str的list方法
2018/04/09 Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
2018/04/22 Python
Python中GIL的使用详解
2018/10/03 Python
django实现后台显示媒体文件
2020/04/07 Python
利用python实现平稳时间序列的建模方式
2020/06/03 Python
Python学习之os模块及用法
2020/06/03 Python
Python发送邮件实现基础解析
2020/08/14 Python
基于python判断字符串括号是否闭合{}[]()
2020/09/21 Python
pytorch 实现L2和L1正则化regularization的操作
2021/03/03 Python
浅析HTML5中header标签的用法
2016/06/24 HTML / CSS
爱他美官方海外旗舰店:Aptamil奶粉
2017/12/22 全球购物
Dockers鞋官网:Dockers Shoes
2018/11/13 全球购物
Tod’s英国官方网站:意大利奢华手工制作手袋和鞋履
2019/03/15 全球购物
施工员岗位职责
2014/03/16 职场文书
婚前协议书怎么写
2014/04/15 职场文书
应届毕业生自荐信
2015/03/04 职场文书
幼儿园大班教师随笔
2015/08/14 职场文书
2016年敬老月活动总结
2016/04/05 职场文书