JQuery插件Quicksand实现超炫的动画洗牌效果


Posted in Javascript onMay 03, 2015

Quicksand是一款基于jQuery的插件,能对页面上的元素进行重新排序及过滤,并且有非常不错的洗牌过渡动画效果,可以应用在很多项目中来增强用户体验。本文以实际项目应用来讲解Quicksand的使用。

XHTML

<div id="nav"> 
  <ul> 
   <li id="all" class="cur">所有功能模块</li> 
   <li id="app">应用程序</li> 
   <li id="sys">系统管理</li> 
  </ul> 
</div> 
<ul id="list" class="image-grid"> 
  <li id="id-1" class="app"> 
   <img src="images/birth.gif" width="80" height="60" alt="" /> 
   <strong>生日祝福</strong></li> 
  <li id="id-2" class="app"> 
   <img src="images/festival.gif" width="80" height="60" alt="" /> 
   <strong>节日祝福</strong></li> 
  <li id="id-3" class="sys"> 
   <img src="images/jifen.gif" width="80" height="60" alt="" /> 
   <strong>积分管理</strong></li> 
  ....N多li 
</ul>

XHTML结构由一个导航条和一个内容列表组成。在内容列表#list里,我给每个li都加了一个id属性,这个是为了方便Quicksand插件调用。

CSS

#nav{height:36px; margin:10px auto; border-bottom:1px solid #36c} 
#nav ul{list-style:none; padding-left:120px} 
#nav ul li{float:left; height:34px; line-height:34px; margin-left:6px; 
padding:0px 12px; border-left:1px solid #d3d3d3; border-right:1px solid #d3d3d3; 
 border-top:1px solid #d3d3d3; background:#f7f7f7; cursor:pointer} 
#nav ul li.cur{height:35px; background:#36c; color:#fff} 
.image-grid{zoom:1} 
.image-grid li{width: 82px; height:100px; margin: 20px 0 0 35px; float:left; 
 text-align: center; line-height:18px;color: #686f74;overflow:hidden;} 
.image-grid li img,.image-grid li strong{display:block;}

我给导航条#nav设置了选项卡风格,并设置选中状态#nav ul li.cur的样式。列表内容区也设置了每张图片的固定高度和宽度。

jQuery

首先,复制列表区的内容:

var $data=$("#list").clone();

然后,来实现选项卡风格,当点击导航时,给当前点击的项加上选中的样式,同时其他项移除选中状态的样式:

$("#nav ul li").click(function(){ 
  $(this).addClass("cur"); 
  $(this).siblings().removeClass("cur"); 
});

接着,继续在单击时间里,获取当前点击选项的ID,通过判断ID值,获取数据源$source,最后调用quicksand插件。完整的代码如下:

$("#nav ul li").click(function(){ 
  $(this).addClass("cur"); 
  $(this).siblings().removeClass("cur"); 
  var id = $(this).attr("id"); 
    if(id=="all"){ 
      var $source=$data.find("li"); 
    }else{ 
      var $source=$data.find("li[class="+id+"]"); 
    } 
    $("#list").quicksand($source,{ 
      duration: 1000, 
      attribute: 'id', 
      easing: 'swing' 
    }); 
  }); 
});

Quicksand插件提供了几个参数可配置:
duration:过渡动画的时间,以毫秒为单位。
attribute:关联数据的属性,本例设置为id。
easing:动画缓冲方式。

还有一个方法enhancement:function(c) {}可以自定义函数调用。

顺便提一下,IE6下没有过渡动画效果,IE7+,以及其他高级浏览器均测试通过。

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
鼠标滚轮控制网页横向移动实现思路
Mar 22 Javascript
jQuery把表单元素变为json对象
Nov 06 Javascript
在JavaScript中访问字符串的子串
Jul 07 Javascript
JS实现网页右侧带动画效果的伸缩窗口代码
Oct 29 Javascript
JavaScript中cookie工具函数封装的示例代码
Oct 11 Javascript
hammer.js实现图片手势放大效果
Aug 29 Javascript
js字符限制(字符截取) 一个中文汉字算两个字符
Sep 12 Javascript
vue.js层叠轮播效果的实例代码
Nov 08 Javascript
WebPack工具运行原理及入门教程
Dec 02 Javascript
ES5和ES6中类的区别总结
Dec 21 Javascript
微信小程序实现登录注册功能
Dec 29 Javascript
Vuex实现简单购物车
Jan 10 Vue.js
JQuery页面地址处理插件jqURL详解
May 03 #Javascript
jQuery的animate函数实现图文切换动画效果
May 03 #Javascript
php+ajax+jquery实现点击加载更多内容
May 03 #Javascript
jquery插件hiAlert实现网页对话框美化
May 03 #Javascript
javascript结合canvas实现图片旋转效果
May 03 #Javascript
浅谈javascript语法和定时函数
May 03 #Javascript
Jquery中的$.each获取各种返回类型数据的使用方法
May 03 #Javascript
You might like
PHPLog php 程序调试追踪工具
2009/09/09 PHP
php 中英文语言转换类代码
2011/08/11 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
2014/01/31 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
2014/06/12 PHP
PHP中比较时间大小实例
2014/08/21 PHP
yii使用bootstrap分页样式的实例
2017/01/17 PHP
PHP下用Swoole实现Actor并发模型的方法
2019/06/12 PHP
firefox中JS读取XML文件
2006/12/21 Javascript
JS类库Bindows1.3中的内存释放方式分析
2007/03/08 Javascript
JS控制弹出新页面窗口位置和大小的方法
2015/03/02 Javascript
图解JavaScript中的this关键字
2020/05/28 Javascript
JavaScript中校验银行卡号的实现代码
2016/12/19 Javascript
JS定时器用法分析【时钟与菜单中的应用】
2016/12/21 Javascript
jQuery基于cookie实现换肤功能实例
2017/10/14 jQuery
layui 表格的属性的显示转换方法
2018/08/14 Javascript
webpack中如何使用雪碧图的示例代码
2018/11/11 Javascript
详解React项目如何修改打包地址(编译输出文件地址)
2019/03/21 Javascript
基于html+css+js实现简易计算器代码实例
2020/02/28 Javascript
Openlayers实现图形绘制
2020/09/28 Javascript
Python引用计数操作示例
2018/08/23 Python
使用HTML5的Notification API制作web通知的教程
2015/05/08 HTML / CSS
日本7net购物网:书籍、漫画、杂志、DVD、游戏邮购
2017/02/17 全球购物
购买中国最好的电子产品:Geekbuying
2018/03/13 全球购物
一份全面的PHP面试问题考卷
2012/07/15 面试题
分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)
2014/07/16 面试题
商务考察邀请函范文
2014/01/21 职场文书
公司总经理工作职责管理办法
2014/02/28 职场文书
物业保安员岗位职责
2014/03/14 职场文书
公证委托书大全
2014/04/04 职场文书
交通文明倡议书
2014/05/16 职场文书
暑假社会实践证明格式
2014/10/28 职场文书
投资入股合作协议书
2014/10/28 职场文书
国际贸易实务实训报告
2014/11/05 职场文书
2015年机关党委工作总结
2015/05/23 职场文书
幼儿园托班开学寄语(2015秋季)
2015/05/27 职场文书
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android