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 22 Javascript
JSONP获取Twitter和Facebook文章数的具体步骤
Feb 24 Javascript
图片放大镜jquery.jqzoom.js使用实例附放大镜图标
Jun 19 Javascript
jQuery实现网站添加高亮突出显示效果的方法
Jun 26 Javascript
跟我学习javascript的prototype使用注意事项
Nov 17 Javascript
JavaScript利用闭包实现模块化
Jan 13 Javascript
jQuery输入框密码的显示隐藏【代码分享】
Apr 29 jQuery
Iscrool下拉刷新功能实现方法(推荐)
Jun 26 Javascript
实例分析编写vue组件方法
Feb 12 Javascript
记一次用ts+vuecli4重构项目的实现
May 21 Javascript
JS实现躲避粒子小游戏
Jun 18 Javascript
在vant中使用时间选择器和popup弹出层的操作
Nov 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
谈谈PHP语法(5)
2006/10/09 PHP
php 常用字符串函数总结
2008/03/15 PHP
php多次include后导致全局变量global失效的解决方法
2015/02/28 PHP
深入讲解PHP的对象注入(Object Injection)
2017/03/01 PHP
Laravel使用模型实现like模糊查询的例子
2019/10/24 PHP
Laravel5.1 框架路由基础详解
2020/01/04 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
js中判断用户输入的值是否为空的简单实例
2013/12/23 Javascript
jQuery判断元素是否存在的可靠方法
2014/05/06 Javascript
jQuery子属性过滤选择器用法分析
2015/02/10 Javascript
简单谈谈javascript Date类型
2015/09/06 Javascript
关于原生js中bind函数的简单实现
2016/08/10 Javascript
js实现图片懒加载效果
2017/07/17 Javascript
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
JS实现的全选、全不选及反选功能【案例】
2019/02/19 Javascript
vue 兄弟组件的信息传递的方法实例详解
2019/08/30 Javascript
详解vue或uni-app的跨域问题解决方案
2020/02/21 Javascript
JS自定义右键菜单实现代码解析
2020/07/16 Javascript
如何在vue中使用kindeditor富文本编辑器
2020/12/19 Vue.js
[02:38]DOTA2超级联赛专访Loda 认为IG世界最强
2013/05/27 DOTA
Python基类函数的重载与调用实例分析
2015/01/12 Python
Python直接赋值、浅拷贝与深度拷贝实例分析
2019/06/18 Python
Python模块_PyLibTiff读取tif文件的实例
2020/01/13 Python
python实现将字符串中的数字提取出来然后求和
2020/04/02 Python
英国最大的电子产品和家电零售企业:Currys PC World
2016/09/24 全球购物
澳大利亚当地最大的时装生产商:Cue
2018/08/06 全球购物
Lentiamo比利时:便宜的隐形眼镜
2020/02/14 全球购物
临床医学应届生求职信
2013/11/06 职场文书
如何打造一封优秀的留学推荐信
2014/01/25 职场文书
信息专业学生学习的自我评价
2014/02/17 职场文书
2014教师党员个人自我评议
2014/09/20 职场文书
资源环境与城乡规划管理专业自荐书
2014/09/26 职场文书
2014年前台接待工作总结
2014/12/05 职场文书
CocosCreator ScrollView优化系列之分帧加载
2021/04/14 Python
JavaScript实现两个数组的交集
2022/03/25 Javascript