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 中的类和闭包
Jan 08 Javascript
初学js 新节点的创建 删除 的步骤
Jul 04 Javascript
javascript中获取下个月一号,是星期几
Jun 01 Javascript
控制文字内容的显示与隐藏示例
Jun 11 Javascript
javascript动态判断html元素并执行不同的操作
Jun 16 Javascript
js变量、作用域及内存详解
Sep 23 Javascript
JS实现可关闭的对联广告效果代码
Sep 14 Javascript
JavaScript File分段上传
Mar 10 Javascript
Vue.js双向绑定实现原理详解
Dec 22 Javascript
AngularJS Select(选择框)使用详解
Jan 18 Javascript
JavaScript 实现下雪特效的示例代码
Sep 09 Javascript
vue3.0中setup使用(两种用法)
Dec 02 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
PHP4在Windows2000下的安装
2006/10/09 PHP
php下使用curl模拟用户登陆的代码
2010/09/10 PHP
PHP中数据库单例模式的实现代码分享
2014/08/21 PHP
PHP基于yii框架实现生成ICO图标
2015/11/13 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
javascript 一段左右两边随屏滚动的代码
2009/06/18 Javascript
Javascript面向对象编程(三) 非构造函数的继承
2011/08/28 Javascript
JQuery实现简单时尚快捷的气泡提示插件
2012/12/20 Javascript
JavaScript通过事件代理高亮显示表格行的方法
2015/05/27 Javascript
浅析nodejs实现Websocket的数据接收与发送
2015/11/19 NodeJs
小程序开发实战:实现九宫格界面的导航的代码实现
2017/01/19 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
微信小程序--onShareAppMessage分享参数用处(页面分享)
2017/04/18 Javascript
webpack项目调试以及独立打包配置文件的方法
2018/02/28 Javascript
layui的table中显示图片方法
2018/08/17 Javascript
微信小程序websocket聊天室的实现示例代码
2019/02/12 Javascript
基于VUE的v-charts的曲线显示功能
2019/10/01 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
2019/11/05 Javascript
Python实现队列的方法
2015/05/26 Python
Python求出0~100以内的所有素数
2018/01/23 Python
python让列表倒序输出的实例
2018/06/25 Python
Python给定一个句子倒序输出单词以及字母的方法
2018/12/20 Python
Python实现将通信达.day文件读取为DataFrame
2018/12/22 Python
python设计微型小说网站(基于Django+Bootstrap框架)
2019/07/08 Python
浅析python标准库中的glob
2020/03/13 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
2020/07/23 Python
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
美国著名首饰网站:BaubleBar
2016/08/29 全球购物
英国领先的酒类网上商城:TheDrinkShop
2017/03/16 全球购物
中学生期中自我鉴定
2014/04/20 职场文书
湖南省召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
修改MySQL的默认密码的四种小方法
2021/05/26 MySQL
用Python爬取某乎手机APP数据
2021/06/15 Python
Java spring定时任务详解
2021/10/05 Java/Android
MySQL中EXPLAIN语句及用法
2022/05/20 MySQL
python 使用pandas读取csv文件的方法
2022/12/24 Python