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 相关文章推荐
jquery下jstree简单应用 - v1.0
Apr 14 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
Sep 10 Javascript
js动态添加事件并可传参数示例代码
Oct 21 Javascript
javascript中callee与caller的区别分析
Apr 20 Javascript
JavaScript检查数字是否为整数或浮点数的方法
Jun 09 Javascript
jQuery实现购物车表单自动结算效果实例
Aug 10 Javascript
jquery ajax 如何向jsp提交表单数据
Aug 23 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
Apr 11 Javascript
js实现密码强度检验
Jan 15 Javascript
浅谈ECMAScript6新特性之let、const
Aug 02 Javascript
如何编写一个 Webpack Loader的实现
Oct 18 Javascript
Vue组件生命周期运行原理解析
Nov 25 Vue.js
每天一篇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中PDO的错误处理
2011/09/04 PHP
php的sprintf函数的用法 控制浮点数格式
2014/02/14 PHP
使用PHP生成二维码的两种方法(带logo图像)
2014/03/14 PHP
javascript下过滤数组重复值的代码
2007/09/10 Javascript
javascript的onchange事件与jQuery的change()方法比较
2009/09/28 Javascript
Javascript的闭包
2009/12/31 Javascript
jQuery 获取URL参数的插件
2010/03/04 Javascript
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
基于jQuery的图片左右无缝滚动插件
2012/05/23 Javascript
用jquery实现点击栏目背景色改变
2012/12/10 Javascript
javascript文本框内输入文字倒计数的方法
2015/02/24 Javascript
js限制文本框的输入内容代码分享(3类)
2015/08/20 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
2016/03/01 Javascript
一个炫酷的Bootstrap导航菜单
2016/12/28 Javascript
jQuery 表单序列化实例代码
2017/06/11 jQuery
浅谈JS中的常用选择器及属性、方法的调用
2017/07/28 Javascript
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
npm 更改默认全局路径以及国内镜像的方法
2018/05/16 Javascript
Layer弹出层动态获取数据的方法
2018/08/20 Javascript
[03:07]完美世界DOTA2联赛PWL DAY10 决赛集锦
2020/11/11 DOTA
python实现马耳可夫链算法实例分析
2015/05/20 Python
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
python 通过 socket 发送文件的实例代码
2018/08/14 Python
详解Python locals()的陷阱
2019/03/26 Python
python多线程共享变量的使用和效率方法
2019/07/16 Python
python 函数嵌套及多函数共同运行知识点讲解
2020/03/03 Python
Python类super()及私有属性原理解析
2020/06/15 Python
使用CSS3在触屏上为按钮实现激活效果
2013/09/27 HTML / CSS
JYSK加拿大:购买家具、床垫、家居装饰等
2020/02/14 全球购物
计算机应用专业学生的自我评价分享
2013/11/03 职场文书
大学竞选班长演讲稿
2014/04/24 职场文书
乒乓球兴趣小组活动总结
2014/07/08 职场文书
医院党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
家长意见和建议怎么写
2015/06/04 职场文书
钢琴师观后感
2015/06/12 职场文书
分析Netty直接内存原理及应用
2021/06/14 Java/Android