JS实现推拉门动效

这次给大家带来JS实现推拉门动效,JS实现推拉门动效的注意事项有哪些,下面就是实战案例,一起来看一下。

“推拉门”实现方法一:改变图片宽度

html+css代码

 

    <!--
  • ![](images/slidepic2.jpg)
  • -->

*{ padding: 0; margin: 0; } .box{ /*收缩状态:缩放时每个图片的大小240px 所以总大小1200px*/ /*展开状态:当前图片宽度800px 其他图片宽度100px*/ width: 1200px; height: 500px; border:1px solid red; margin: 50px auto; } .box ul{ list-style: none; width: 1210px; } /*设置每一张图片的大小和float: left*/ .box ul li{ width: 240px; height: 500px; /*background: url(images/slidepic2.jpg);*/ float: left; }

登录后复制

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代码

 

  • ![](images/slidepic8.jpg)
  • ![](images/slidepic3.jpg)
  • ![](images/slidepic4.jpg)
  • ![](images/slidepic5.jpg)
  • ![](images/slidepic7.jpg)

*{ background-color: #aaa; padding: 0; margin: 0; } ul{list-style: none;} .picList{ width: 1000px; height: 400px; /*border:1px solid #eee;*/ margin:100px auto; position: relative; overflow: hidden; } /*设置定位属性 所有图片覆盖在起始位置*/ .picList ul li{ position: absolute; width: 1000px; height: 400px; top: 0; } img{ width: 100%; height: 400px; cursor: pointer; }

登录后复制

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

(0)
上一篇 2025年3月8日 12:41:55
下一篇 2025年2月24日 07:36:56

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • js原型对象使用的步奏详解

    这次给大家带来js原型对象使用的步奏详解,js原型对象使用的的注意事项有哪些,下面就是实战案例,一起来看一下。 我们先来一个简单的构造函数+原型对象的小程序 function CreateObj( uName, uAge ) { this.…

    编程技术 2025年3月8日
    000
  • JSprototype对象使用教学

    这次给大家带来JSprototype对象使用教学,JSprototype对象使用的注意事项有哪些,下面就是实战案例,一起来看一下。 我们通过原型方式,解决了多个实例的方法共享问题,接下来,我们就来搞清楚原型(prototype),原型链的来…

    编程技术 2025年3月8日
    200
  • js寄生组合式继承使用详解

    这次给大家带来js寄生组合式继承使用详解,js寄生组合式继承使用的注意事项有哪些,下面就是实战案例,一起来看一下。 组合继承: function Person( uName ){ this.skills = [ ‘php’, ‘javasc…

    编程技术 2025年3月8日
    200
  • JS实现棋盘覆盖

    这次给大家带来js实现棋盘覆盖,js实现棋盘覆盖的注意事项有哪些,下面就是实战案例,一起来看一下。 之前做了一个算法作业,叫做棋盘覆盖,本来需要用c语言来编写的,但是因为我的c语言是半桶水(哈哈),所以索性就把网上的c语言写法改成JavaS…

    编程技术 2025年3月8日
    200
  • js怎么在导航栏互相切换中英文

    这次给大家带来js怎么在导航栏互相切换中英文,js在导航栏互相切换中英文的注意事项有哪些,下面就是实战案例,一起来看一下。 ul的高度为li的一半,ul{overflow:hidden} li:hover{margin-top:-40px;…

    编程技术 2025年3月8日
    200
  • js正则快速记忆方法

    这次给大家带来js正则快速记忆方法,js正则快速记忆的注意事项有哪些,下面就是实战案例,一起来看一下。 我们知道,正则表达式是一个处理字符串中很实用的技巧。然而,即便是Javascript写的很厉害的程序猿,有时也会忘掉正则表达式的语法,从…

    编程技术 2025年3月8日
    200
  • JS轻松实现轮播图

    这次给大家带来JS轻松实现轮播图,JS轻松实现轮播图的注意事项有哪些,下面就是实战案例,一起来看一下。 思路: 1、首先要有个盛放图片的容器,设置为单幅图片的宽高,且overflow:hidden,这样保证每次可以只显示一个图片 2、Con…

    编程技术 2025年3月8日
    200
  • 在JS中怎么实现数字与字符串相互转换

    这次给大家带来在JS中怎么实现数字与字符串相互转换,在JS中实现数字与字符串相互转换的注意事项有哪些,下面就是实战案例,一起来看一下。 var print = new Function(“x”, “document.write(x)”); …

    编程技术 2025年3月8日
    200
  • vue.js双向绑定使用详解

    这次给大家带来vue.js双向绑定使用详解,vue.js双向绑定使用的注意事项有哪些,下面就是实战案例,一起来看一下。 vue.js初级入门之最基础的双向绑定操作,具体内容如下 首先在页面引入vue.js以及其他需要用到的或者可能要用到的插…

    编程技术 2025年3月8日
    200
  • js实现图片匀速淡入淡出

    这次给大家带来js实现图片匀速淡入淡出,js实现图片匀速淡入淡出的注意事项有哪些,下面就是实战案例,一起来看一下。 淡入效果 * { margin: 0; padding: 0; } p { border: 2px solid #aaa; …

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论