这次给大家带来JS实现推拉门动效,JS实现推拉门动效的注意事项有哪些,下面就是实战案例,一起来看一下。
“推拉门”实现方法一:改变图片宽度
html+css代码
- <!--
-  -->
登录后复制
jQuery实现
$(function(){ //1遍历每一张li 获取每个元素设置对应的图片 var lis = $('li'); lis.each(function(index, element){ //通过设置背景图片名称改变图片的显示 var imgName = "images/slidepic" + (index + 2) +".jpg "; $(element).css('background', "url('"+ imgName +"')") }); //2.展开状态 //鼠标滑入改变对应图片宽度800 其他图片(兄弟)改为100 lis.mouseenter(function(){ // console.log(this); 当前的li DOM元素 //当前的图片的宽度变为800 $(this).stop().animate({width: 800}); //其他图片的宽度变为100 $(this).siblings('li').stop().animate({width: 100}); }); //3鼠标滑出是全部显示为收缩状态 lis.mouseout(function(){ lis.stop().animate({width: 240}); }); })
登录后复制
“推拉门”实现方法二:改变图片的偏移值
html+css代码
- 
- 
- 
- 
- 
登录后复制
jQuery实现
$(function(){ //1获取所有的图片 设置初始的收缩状态left:i*200 var lis = $('li'); for(var i = 0; i < lis.length; i++){ lis.eq(i).css({left:i*200 + 'px' }); } //2.设置hover内置函数,实现鼠标滑入展开滑出收缩效果 lis.hover(function(){ var index = $(this).index(); //DOM对象转换jQuery对象 //2.1鼠标滑入后,当前图片的前面图片偏移位置减小到 j*100位置 for(var j = 0; j <= index; j++){ lis.eq(j).stop().animate({left: j*100 + 'px'},300); } //2.2鼠标滑入后,当前图片的后面图片偏移位置扩大到 500+j*100位置 for(var j = index + 1; j < lis.length; j++){ lis.eq(j).stop().animate({left: 500+j*100 + 'px'},300); } },function(){ //2.3鼠标滑出后,所有图片恢复到原来的位置 i*200 for(var i = 0; i < lis.length; i++){ lis.eq(i).stop().animate({left: i*200 + 'px'},300); } }); })
登录后复制
注意:方法一在实现的过程中,注意宽度和图片命名的设置。
提示:这里使用的是jQuery代码实现,javaScript代码也是一样的可以实现,只是修改下遍历过程和内置函数方法,另外再重写动画函数(前面的笔记有封装好的animate函数,可以直接引入使用)。
相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!
推荐阅读:
以上就是JS实现推拉门动效的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2770794.html