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 遍历验证所有文本框的值
Aug 27 Javascript
javascript 哈希表(hashtable)的简单实现
Jan 20 Javascript
JQuery扩展插件Validate 2通过参数设置验证规则
Sep 05 Javascript
页面定时刷新(1秒刷新一次)
Nov 22 Javascript
推荐 21 款优秀的高性能 Node.js 开发框架
Aug 18 Javascript
js实现TAB切换对应不同颜色的代码
Aug 31 Javascript
理解javascript中的MVC模式
Jan 28 Javascript
JS使用JSON作为参数实例分析
Jun 23 Javascript
JQuery 封装 Ajax 常用方法(推荐)
May 21 jQuery
JS switch判断 三目运算 while 及 属性操作代码
Sep 03 Javascript
浅谈js中的bind
Mar 18 Javascript
vue如何在data中引入图片的正确路径
Jun 05 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中对数据库操作的封装
2006/10/09 PHP
PHPMYADMIN导入数据最大为2M的解决方法
2012/04/23 PHP
PHP 数组和字符串互相转换实现方法
2013/03/26 PHP
Yii2.0 模态弹出框+ajax提交表单
2016/05/22 PHP
PHPMAILER实现PHP发邮件功能
2018/04/18 PHP
JS BASE64编码 window.atob(), window.btoa()
2021/03/09 Javascript
表单提交时自动复制内容到剪贴板的js代码
2007/03/16 Javascript
CSS(js)限制页面显示的文本字符长度
2012/12/27 Javascript
JS对img进行操作(换图片/切图/轮换/停止)
2013/04/17 Javascript
jQuery探测位置的提示弹窗(toolTip box)详细解析
2013/11/14 Javascript
Javascript生成全局唯一标识符(GUID,UUID)的方法
2016/02/27 Javascript
node.js cookie-parser 中间件介绍
2016/06/06 Javascript
Javascript必知必会(四)js类型转换
2016/06/08 Javascript
angular源码学习第一篇 setupModuleLoader方法
2016/10/20 Javascript
gulp解决跨域的配置文件问题
2017/06/08 Javascript
详解vue+vueRouter+webpack的简单实例
2017/06/17 Javascript
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
微信小程序报错: thirdScriptError的错误问题
2020/06/19 Javascript
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
[48:38]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs Secret
2018/03/31 DOTA
[45:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第二场 6.2
2018/06/04 DOTA
python实现红包裂变算法
2016/02/16 Python
python中MethodType方法介绍与使用示例
2017/08/03 Python
基于keras输出中间层结果的2种实现方式
2020/01/24 Python
手把手教你进行Python虚拟环境配置教程
2020/02/03 Python
python super函数使用方法详解
2020/02/14 Python
python操作yaml说明
2020/04/08 Python
CSS3点击按钮实现背景渐变动画效果
2016/10/19 HTML / CSS
HTML5操作WebSQL数据库的实例代码
2017/08/26 HTML / CSS
canvas 下载二维码和图片加水印的方法
2018/03/21 HTML / CSS
Linden Leaves官网:新西兰纯净护肤品
2020/12/20 全球购物
庆中秋节主题活动方案
2014/02/03 职场文书
培训主管的职业生涯规划
2014/03/06 职场文书
2014年店长工作总结
2014/11/17 职场文书
幼儿园心得体会范文
2016/01/21 职场文书