javascript图片滑动效果实现


Posted in Javascript onJanuary 28, 2021

本文为大家分享了javascript图片滑动效果实现方法,具体内容如下,先看一下效果图:

javascript图片滑动效果实现

鼠标滑过那张图,显示完整的哪张图,移除则复位:

javascript图片滑动效果实现

简单的CSS加JS操作DOM实现:

<!doctype html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>sliding doors</title>
 <link rel="stylesheet" href="styles/reset.css" />
 <link rel="stylesheet" href="styles/slidingdoors.css" />
 <script src="scripts/slidingdoors.js"></script>
 </head>
 <body>
 <div id='container'>
 <img src="images/door1.png" alt="1080P神器" title="1080P神器" />
 <img src="images/door2.png" alt="5.5寸四核" title="5.5寸四核" />
 <img src="images/door3.png" alt="四核5寸" title="四核5寸" />
 <img src="images/door4.png" alt="5.7寸机皇" title="5.7寸机皇" />
 </div>
 </body>
</html>

css:

#container {
 height: 477px;
 margin: 0 auto;
 border-right: 1px solid #ccc;
 border-bottom: 1px solid #ccc;
 overflow: hidden;
 position: relative;
}

#container img {
 position: absolute;
 display: block;
 left: 0;
 border-left: 1px solid #ccc;
}

js操作:

window.onload = function() {
 //容器对象
 var box = document.getElementById('container');

 //获得图片NodeList对象集合
 var imgs = box.getElementsByTagName('img');

 //单张图片的宽度
 var imgWidth = imgs[0].offsetWidth;

 //设置掩藏门体露出的宽度
 var exposeWidth = 180;

 //设置容器总宽度
 var boxWidth = imgWidth + (imgs.length - 1) * exposeWidth;
 box.style.width = boxWidth + 'px';

 //设置每道门的初始位置
 function setImgsPos() {
 for (var i = 1, len = imgs.length; i < len; i++) {
 imgs[i].style.left = imgWidth + exposeWidth * (i - 1) + 'px';
 }
 }
 setImgsPos();

 //计算每道门打开时应移动的距离
 var translate = imgWidth - exposeWidth;

 //为每道门绑定事件
 for (var i = 0, len = imgs.length; i < len; i++) {
 //使用立即调用的函数表答式,为了获得不同的i值
 (function(i) {
 imgs[i].onmouseover = function() {
 //先将每道门复位
 setImgsPos();
 //打开门
 for (var j = 1; j <= i; j++) {
  imgs[j].style.left = parseInt(imgs[j].style.left, 10) - translate + 'px';
  //imgs[j].style.left = j*exposeWidth +"px";
 }
 };
 imgs[i].onmouseout = function(){
 setImgPos();
 };
 })(i);
 }
};

更多关于滑动效果的专题,请点击下方链接查看:

希望本文所述对大家学习javascript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript:Div层拖动效果实例代码
Aug 06 Javascript
jQuery实现当按下回车键时绑定点击事件
Jan 28 Javascript
jQuery validate插件submitHandler提交导致死循环解决方法
Jan 21 Javascript
基于jQuery实现仿51job城市选择功能实例代码
Mar 02 Javascript
JS实现六位字符密码输入器功能
Aug 19 Javascript
老生常谈combobox和combotree模糊查询
Apr 17 Javascript
vue router路由嵌套不显示问题的解决方法
Jun 17 Javascript
Vue修改mint-ui默认样式的方法
Feb 03 Javascript
Vue.js中的computed工作原理
Mar 22 Javascript
vue本地打开build后生成的dist文件夹index.html问题
Sep 04 Javascript
微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能
Sep 26 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
Oct 02 Javascript
每天一篇javascript学习小结(Array数组)
Nov 11 #Javascript
九种原生js动画效果
Nov 11 #Javascript
js文字横向滚动特效
Nov 11 #Javascript
详解javascript遍历方式
Nov 11 #Javascript
js window对象属性和方法相关资料整理
Nov 11 #Javascript
js clearInterval()方法的定义和用法
Nov 11 #Javascript
jquery原理以及学习技巧介绍
Nov 11 #Javascript
You might like
PHP chmod 函数与批量修改文件目录权限
2010/05/10 PHP
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
js 获取计算后的样式写法及注意事项
2013/02/25 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
AngularJs自定义服务之实现签名和加密
2016/08/02 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
2016/08/25 Javascript
selenium 与 chrome 进行qq登录并发邮件操作实例详解
2017/04/06 Javascript
Cookies 和 Session的详解及区别
2017/04/21 Javascript
JS如何实现在页面上快速定位(锚点跳转问题)
2017/08/14 Javascript
详解创建自定义的Angular Schematics
2018/06/06 Javascript
ionic使用angularjs表单验证(模板验证)
2018/12/12 Javascript
浅谈Angular单元测试总结
2019/03/22 Javascript
vue axios post发送复杂对象问题
2019/06/04 Javascript
详解微信小程序支付流程与梳理
2019/07/16 Javascript
构建大型 Vue.js 项目的10条建议(小结)
2019/11/14 Javascript
vue.js+ElementUI实现进度条提示密码强度效果
2020/01/18 Javascript
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
2017/06/23 Python
python实现百万答题自动百度搜索答案
2018/01/16 Python
解决pandas中读取中文名称的csv文件报错的问题
2018/07/04 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
2019/02/20 Python
树莓派实现移动拍照
2019/06/22 Python
Jacobi迭代算法的Python实现详解
2019/06/29 Python
numpy实现神经网络反向传播算法的步骤
2019/12/24 Python
CSS3+font字体文件实现圆形半透明菜单具体步骤(图解)
2013/06/03 HTML / CSS
Bally澳大利亚官网:瑞士奢侈品牌
2018/11/01 全球购物
电大自我鉴定
2013/10/27 职场文书
村干部培训方案
2014/05/02 职场文书
化工工艺设计求职信
2014/06/25 职场文书
2014年外联部工作总结
2014/11/17 职场文书
教师考核评语大全
2014/12/31 职场文书
通知函格式范文
2015/04/27 职场文书
公积金贷款承诺书
2015/04/30 职场文书
2015年政务公开工作总结
2015/05/19 职场文书
详解vue身份认证管理和租户管理
2021/05/25 Vue.js
CSS实现九宫格布局(自适应)的示例代码
2022/02/12 HTML / CSS
Vue的列表之渲染,排序,过滤详解
2022/02/24 Vue.js