(function($){ $.fn.extend({ "slideUp":function(value){ var docthis = this; //默认参数 value=$.extend({ "li_h":"30", "time":2000, "movetime":1000 },value) //向上滑动动画 function autoani(){ $("li:first",docthis).animate({"margin-top":-value.li_h},value.movetime,function(){ $(this).css("margin-top",0).appendTo(".line"); }) } //自动间隔时间向上滑动 var anifun = setInterval(autoani,value.time); //悬停时停止滑动,离开时继续执行 $(docthis).hover(function(){ clearInterval(anifun); //清除自动滑动动画 },function(){ setInterval(autoani,value.time); //继续执行动画 }) } }) })(jQuery)
主要思路:
滑动动画,就是改变元素的位置,要改变元素的位置有两种方法,一种改变left,top属性(相对定位和绝对定位),还有一种,就是现在这里用到的,改变margin的值。
上例中动画过程:
1.设置要改变margin-top的值;
2.用animate方法改变第一个LI的margin-top的值为-30(负值会向上移动);
3.在动画完成之后,回调函数内,把当前的第一个LI的margin-top改变为"0"
4.把当前这第一个LI移动到所有LI的最后一个。(实现无缝)
案例下载:http://xiazai.jb51.net/201612/yuanma/myslidup(jb51.net).rar
以上就是本文的全部内容,希望对大家有所帮助,谢谢对呐喊教程的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。