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设置IFrame高度自适应(兼容各主流浏览器)
Jun 05 Javascript
ComboBox 和 DateField 在IE下消失的解决方法
Aug 30 Javascript
ExtJS判断IE浏览器类型的方法
Feb 10 Javascript
使用ajax+jqtransform实现动态加载select
Dec 01 Javascript
Javascript中的五种数据类型详解
Dec 26 Javascript
js实现的页面矩阵图形变换特效
Jan 26 Javascript
基于vue循环列表时点击跳转页面的方法
Aug 31 Javascript
每个 JavaScript 工程师都应懂的33个概念
Oct 22 Javascript
VuePress 快速踩坑小结
Feb 14 Javascript
vue-resourc发起异步请求的方法
Feb 11 Javascript
Vue清除定时器setInterval优化方案分享
Jul 21 Javascript
利用javaScript处理常用事件详解
Apr 14 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实现的MySQL数据浏览器
2007/03/11 PHP
PHP小教程之实现链表
2014/06/09 PHP
叫你如何修改Nginx与PHP的文件上传大小限制
2014/09/10 PHP
php中session与cookie的比较
2015/01/27 PHP
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
使用jQuery jqPlot插件绘制柱状图
2014/12/18 Javascript
javascript中Number的方法小结
2016/11/21 Javascript
jQuery实现级联下拉框实战(5)
2017/02/08 Javascript
zTree获取当前节点的下一级子节点数实例
2017/09/05 Javascript
基于ionic实现下拉刷新功能
2018/05/10 Javascript
浅谈webpack-dev-server的配置和使用
2018/05/17 Javascript
vue-router 前端路由之路由传值的方式详解
2019/04/30 Javascript
微信小程序实现左滑动删除效果
2020/03/30 Javascript
Vue 中 a标签上href无法跳转的解决方式
2019/11/12 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
2020/02/04 Javascript
vue中 v-for循环的用法详解
2020/02/19 Javascript
[55:32]2018DOTA2亚洲邀请赛 4.4 淘汰赛 EG vs LGD 第二场
2018/04/05 DOTA
在服务器端实现无间断部署Python应用的教程
2015/04/16 Python
python 定时修改数据库的示例代码
2018/04/08 Python
解决Python requests库编码 socks5代理的问题
2018/05/07 Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
2019/02/16 Python
Python3.8中使用f-strings调试
2019/05/22 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
使用pygame写一个古诗词填空通关游戏
2019/12/03 Python
Django用户认证系统如何实现自定义
2020/11/12 Python
关于解决iframe标签嵌套问题的解决方法
2020/03/04 HTML / CSS
美国最大的袜子制造商和零售商:Renfro Socks
2017/09/03 全球购物
联强国际笔试题面试题
2013/07/10 面试题
delegate与普通函数的区别
2014/01/22 面试题
商务英语专业毕业生自荐信
2013/11/05 职场文书
物理专业本科生自荐信
2014/01/30 职场文书
《最佳路径》教学反思
2014/04/13 职场文书
销售团队口号大全
2014/06/06 职场文书
2015年学校后勤工作总结
2015/04/08 职场文书
2015年勤工助学工作总结
2015/04/29 职场文书
幽默导游词应该怎么写?
2019/08/26 职场文书