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图像处理—平滑处理实现原理
Dec 28 Javascript
jquery操作复选框checkbox的方法汇总
Feb 05 Javascript
JS实现探测网站链接的方法【测试可用】
Nov 08 Javascript
jQuery中绑定事件bind() on() live() one()的异同
Feb 23 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
Mar 17 Javascript
vue2.0多条件搜索组件使用详解
Mar 26 Javascript
Form表单上传文件(type=&quot;file&quot;)的使用
Aug 03 Javascript
js 图片转base64的方式(两种)
Apr 24 Javascript
vue-cli2.x项目优化之引入本地静态库文件的方法
Jun 19 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
Jul 02 Javascript
vue-cli3配置与跨域处理方法
Aug 17 Javascript
three.js显示中文字体与tween应用详析
Jan 04 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
第十一节 重载 [11]
2006/10/09 PHP
PHP脚本数据库功能详解(下)
2006/10/09 PHP
PHP 编程请选择正确的文本编辑软件
2006/12/21 PHP
php中引用符号(&amp;)的使用详解
2013/11/13 PHP
php使用NumberFormatter格式化货币的方法
2015/03/21 PHP
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
PHP给前端返回一个JSON对象的实例讲解
2018/05/31 PHP
PHP的mysqli_rollback()函数讲解
2019/01/23 PHP
PHP大文件分割分片上传实现代码
2020/12/09 PHP
一个加载js文件的小脚本
2007/06/28 Javascript
JavaScript 无符号右移运算符
2009/04/17 Javascript
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
2010/09/19 Javascript
jQuery之选择组件的深入解析
2013/06/19 Javascript
JavaScript获得当前网页来源页面(即上一页)的方法
2015/04/03 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
2015/07/18 Javascript
JavaScript的React Web库的理念剖析及基础上手指南
2016/05/10 Javascript
jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
2016/10/30 Javascript
JS 对java返回的json格式的数据处理方法
2016/12/05 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
2017/06/13 Javascript
vue+webpack实现异步加载三种用法示例详解
2018/04/24 Javascript
js中对象与对象创建方法的各种方法
2019/02/27 Javascript
微信小程序自定义多列选择器使用详解
2019/06/21 Javascript
JavaScript 面向对象基础简单示例
2019/10/02 Javascript
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
Exception类的常用方法
2012/06/16 面试题
高级技校毕业生自荐信
2013/11/18 职场文书
学校三八妇女节活动情况总结
2014/03/09 职场文书
党员干部2014全国两会学习心得体会
2014/03/10 职场文书
护士求职信
2014/07/05 职场文书
敲诈同学钱财检讨书范文
2014/11/18 职场文书
办公室主任岗位职责
2015/01/31 职场文书
财务总监岗位职责
2015/02/03 职场文书
2015小学语文教师个人工作总结
2015/05/20 职场文书
于丹讲座视频观后感
2015/06/15 职场文书
聊聊基于pytorch实现Resnet对本地数据集的训练问题
2022/03/25 Python