jq animate动画 自制slider
2016-05-19 17:33
337 查看
jq的 animate的动画重复执行 导致浏览器卡死。
在animate()前加stop() 即可。
在animate()前加stop() 即可。
(function($){ var silde = { init:function(a,number,gundong,status){ this.auto(a,number,gundong,status); }, auto:function(a,number,gundong,status){ var _root = this, $ul = $(a).find("ul"), $lis = $ul.children("li"), width = $lis.eq(0).width(), numberaccout = number || 4, gundongaccout = gundong || 1, auto_status = status || true, mf=parseInt($ul.css('margin-left')); $(a).css({'width':width*numberaccout}); if(auto_status){ timemachine=setInterval(function(){ if(-mf<($lis.length-numberaccout)*width){ mf = mf - width; }else{ mf = 0; } $ul.stop().animate({ 'margin-left': mf +'px' }, 'slow'); },3000 ); } // 接触时暂停 $('.slider').hover(function(){ window.clearInterval(timemachine); }); // 鼠标移开 $('.slider').mouseleave(function(){ silde.init(a,number,gundong,auto_status); }); $('.arrow-right').click(function(){ if(-mf>($lis.length-numberaccout-1)*width){ return; } mf -= width; $ul.stop().animate({ 'margin-left':mf +'px' }, 'fast'); }); $('.arrow-left').click(function(){ if(mf === 0){ return; } mf += width; $ul.stop().animate({ 'margin-left':mf +'px' }, 'fast'); } ); } }; $(function(){ silde.init('.slider',3,1,true); }); })(jQuery);
相关文章推荐
- 判断iOS设备是否越狱
- 修改setting的文本框高亮颜色和android系统全局高亮颜色
- POJ 1046 (枚举,类)
- BitTorrent Sync的原理介绍
- 常见的几种读取.properties文件的方式
- js 中 foreach循环(for in)中,最后会多出一个值
- Java中只有按值传递,没有按引用传递
- JProfiler使用入门(一)——准备工作
- nginx 获取远程地址
- TCP/IP协议
- 23. Merge k Sorted Lists
- MTK use GDB to debug KE by get break point in file
- mysql 导入 创建utf-8数据库
- 剖析c++(二) 内置类型的内存形式
- was和数据库升级总结
- 定制标记---传统标记处理器
- 分析的一般步骤浓缩精华版
- hdu 5247(RMQ+枚举)
- 部分find命令使用
- Apache http 服务器的搭建