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 remove 自定义数组删除方法
Oct 20 Javascript
JavaScript lastIndexOf方法入门实例(计算指定字符在字符串中最后一次出现的位置)
Oct 17 Javascript
js实现点击图片改变页面背景图的方法
Feb 28 Javascript
Jquery检验手机号是否符合规则并根据手机号检测结果将提交按钮设为不同状态
Nov 26 Javascript
JS实现改变HTML上文字颜色和内容的方法
Dec 30 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
Feb 14 Javascript
Angularjs使用指令做表单校验的方法
Mar 31 Javascript
js实现rem自动匹配计算font-size的示例
Nov 18 Javascript
使用Vue.js和Element-UI做一个简单登录页面的实例
Feb 23 Javascript
JS实现键值对遍历json数组功能示例
May 30 Javascript
vue - vue.config.js中devServer配置方式
Oct 30 Javascript
JavaScript的一些小技巧分享
Jan 06 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判断用户是否关注微信公众号
2016/07/22 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
PHP面向对象多态性实现方法简单示例
2017/09/27 PHP
Laravel框架实现的上传图片到七牛功能详解
2019/09/06 PHP
网页源代码保护(禁止右键、复制、另存为、查看源文件)
2012/05/23 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
2013/11/25 Javascript
文本框文本自动补全效果示例分享
2014/01/19 Javascript
javascript实现数字+字母验证码的简单实例
2014/02/10 Javascript
JS判断文本框内容改变事件的简单实例
2014/03/07 Javascript
用JavaScript显示浏览器客户端信息的超相近教程
2015/06/18 Javascript
jQuery实现判断滚动条到底部
2015/06/23 Javascript
js实现商城星星评分的效果
2015/12/29 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
使用jquery实现的循环连续可停顿滚动实例
2016/11/23 Javascript
你不知道的 javascript【推荐】
2017/01/08 Javascript
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
js module大战
2019/04/19 Javascript
深度了解vue.js中hooks的相关知识
2019/06/14 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
Python中的ctime()方法使用教程
2015/05/22 Python
使用python读取txt文件的内容,并删除重复的行数方法
2018/04/18 Python
python numpy 部分排序 寻找最大的前几个数的方法
2018/06/27 Python
python 实现让字典的value 成为列表
2019/12/16 Python
pytorch查看模型weight与grad方式
2020/06/24 Python
css3 线性渐变和径向渐变示例附图
2014/04/08 HTML / CSS
计算机应用专业毕业生求职信
2013/10/24 职场文书
高分子材料与工程专业推荐信
2013/12/01 职场文书
酒店led欢迎词
2014/01/09 职场文书
违纪检讨书2000字
2014/02/08 职场文书
电话客服工作职责
2014/07/27 职场文书
2014年社区党建工作总结
2014/11/11 职场文书
人事行政主管岗位职责
2015/04/09 职场文书
实习单位意见
2015/06/04 职场文书
为Java项目添加Redis缓存的方法
2021/05/18 Redis
Python使用海龟绘图实现贪吃蛇游戏
2021/06/18 Python