jQuery 抖动特效函数封装
2024-08-24 05:49:13
<style>
ul{ margin-top: 100px; }
li {
float: left;
margin-left: 20px;
position: absolute;
top: 0;
margin-top: 100px;
}
</style>
<ul>
<li>1111</li>
<li>2222</li>
<li>3333</li>
<li>4444</li>
</ul>
<script>
$('li').each(function(index){
$this = $(this).index();
$('li').eq( $this ).css('left', $this + '20px' );
})
$('li').hover(function(){
shake( this, 'top', 20, function(){
alert('回调已完成')
} )
})
//抖动运动框架
function shake(obj, attr, speed, endFn){
if(obj.onoff) return; //当前的onoff=false
obj.onoff = true;
var pos = parseInt( $(obj).css(attr) );
var arr = []; //10,-10,8,-8,6,-6......
var timer = null;
var num = 0;
for(var i = speed; i > 0; i -= 2){
arr.push(i,-i);
}
arr.push(0); //最后加上0
obj.timer = setInterval(function(){
$(obj).css(attr, arr[num]);
num++;
if(num === arr.length){
clearInterval(obj.timer);
endFn && endFn();//判断回调函数
obj.onoff = false;
}
},50)
}
</script>
最新文章
- 利用开源jPlayer播放.flv视频文件
- Linux Red hat修改主机名
- C语言深度剖析学习错误点记录
- h5 本地存储和读取信息
- Java 集合深入理解(7):ArrayList
- Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG
- 子iframe刷新父ifrmae的方法
- 一步步学习ASP.NET MVC3 章节总结
- 从free命令看Linux内存管理
- maven命令/依赖/聚合
- SpringBoot的事件监听
- week3
- set-----》集合
- [转帖]IIS内虚拟站点配置信息说明
- 普通用户修改.bash_profile 权限问题
- POJ2195&;&;HDU1533(KB11-D 最小费用最大流)
- 如何通过活字格实现Excel 汇总
- HDU.1850 being a good boy in spring festival (博弈论 尼姆博弈)
- 【OpenERP】Report 生成
- 使用WSW将Nginx创建为Windows系统服务