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学习笔记(二十) 获得和设置元素的特性(属性)
Jun 20 Javascript
jquery创建一个新的节点对象(自定义结构/内容)的好方法
Jan 21 Javascript
js实现div的切换特效上一个下一个
Feb 11 Javascript
Javascript中的String对象详谈
Mar 03 Javascript
js全选按钮的实现方法
Nov 17 Javascript
AngularJs bootstrap搭载前台框架——基础页面
Sep 01 Javascript
浅谈jQuery效果函数
Sep 16 Javascript
详解RequireJS按需加载样式文件
Apr 12 Javascript
layui之select的option叠加问题的解决方法
Mar 08 Javascript
「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)
Apr 08 Javascript
layui实现二维码弹窗、并下载到本地的方法
Sep 25 Javascript
Vue3配置axios跨域实现过程解析
Nov 25 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
PHP_Flame(Version:Progress)的原代码
2006/10/09 PHP
在php MYSQL中插入当前时间
2008/04/06 PHP
php下关于Cannot use a scalar value as an array的解决办法
2010/08/08 PHP
Laravel框架验证码类用法实例分析
2019/09/11 PHP
javascript URL锚点取值方法
2009/02/25 Javascript
js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
2013/01/24 Javascript
基于javascript实现简单的抽奖系统
2020/04/15 Javascript
第九章之路径分页标签与徽章组件
2016/04/25 Javascript
jquery自定义插件——window的实现【示例代码】
2016/05/06 Javascript
JavaScript代码里的判断小结
2016/08/22 Javascript
angular基于路由控制ui-router实现系统权限控制
2016/09/27 Javascript
第一次接触神奇的Bootstrap
2016/10/14 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
2016/12/23 Javascript
JavaScript生成指定范围随机数和随机序列的方法
2018/05/05 Javascript
vue中的自定义分页插件组件的示例
2018/08/18 Javascript
微信小程序时间标签和时间范围的联动效果
2019/02/15 Javascript
JavaScript创建、读取和删除cookie
2019/09/03 Javascript
在elementui中Notification组件添加点击事件实例
2020/11/11 Javascript
python线程锁(thread)学习示例
2013/12/04 Python
paramiko模块安装和使用(远程登录服务器)
2014/01/27 Python
跟老齐学Python之for循环语句
2014/10/02 Python
python生成器generator用法实例分析
2015/06/04 Python
Python利用带权重随机数解决抽奖和游戏爆装备问题
2016/06/16 Python
Python操作csv文件实例详解
2017/07/31 Python
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
2017/08/07 Python
Python JSON编解码方式原理详解
2020/01/20 Python
python实现俄罗斯方块小游戏
2020/04/24 Python
Python实现画图软件功能方法详解
2020/07/28 Python
Idea安装python显示无SDK问题解决方案
2020/08/12 Python
深入理解css属性的选择对动画性能的影响
2016/04/20 HTML / CSS
HTML5进度条特效
2014/12/18 HTML / CSS
大学生职业规划论文
2014/01/11 职场文书
养殖项目策划书范文
2014/01/13 职场文书
人身损害赔偿协议书格式
2014/11/01 职场文书
2014年语文教学工作总结
2014/12/17 职场文书