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 相关文章推荐
如何在标题栏显示框架内页面的标题
Feb 03 Javascript
JavaScript 基础知识 被自己遗忘的
Oct 15 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
May 16 Javascript
JS针对Array的各种操作汇总
Nov 29 Javascript
jQuery仿写百度百科的目录树
Jan 03 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
Jul 17 jQuery
Vue之Watcher源码解析(2)
Jul 19 Javascript
基于JavaScript实现弹幕特效
Aug 27 Javascript
JavaScript学习笔记之函数记忆
Sep 06 Javascript
微信小程序实现星级评分和展示
Jul 05 Javascript
jquery拖拽自动排序插件使用方法详解
Jul 20 jQuery
浅谈react路由传参的几种方式
Mar 23 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
PHP4(windows版本)中的COM函数
2006/10/09 PHP
php生成txt文件实例代码介绍
2016/04/28 PHP
CI框架中$this-&gt;load-&gt;library()用法分析
2016/05/18 PHP
Yii编程开发常见调用技巧集锦
2016/07/15 PHP
prototype1.4中文手册
2006/09/22 Javascript
jQuery搜索子元素的方法
2015/02/10 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
jquery实现简易的移动端验证表单
2015/11/08 Javascript
jQuery validate插件实现ajax验证重复的2种方法
2016/01/22 Javascript
springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项
2017/04/23 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
2017/10/24 Javascript
vuejs router history 配置到iis的方法
2018/09/20 Javascript
总结javascript三元运算符知识点
2018/09/28 Javascript
Makefile/cmake/node-gyp中区分判断不同平台的方法
2018/12/18 Javascript
原生JS实现的自动轮播图功能详解
2018/12/28 Javascript
jquery UI实现autocomplete在获取焦点时得到显示列表功能示例
2019/06/04 jQuery
vue axios重复点击取消上一次请求封装的方法
2019/06/19 Javascript
vue实现折线图 可按时间查询
2020/08/21 Javascript
[47:50]Secret vs VP 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[49:58]完美世界DOTA2联赛PWL S3 Magma vs DLG 第一场 12.18
2020/12/19 DOTA
win10下安装Anaconda的教程(python环境+jupyter_notebook)
2019/10/23 Python
提升python处理速度原理及方法实例
2019/12/25 Python
django model object序列化实例
2020/03/13 Python
Keras预训练的ImageNet模型实现分类操作
2020/07/07 Python
JD Sports法国:英国篮球和运动时尚的领导者
2017/09/28 全球购物
Roxy荷兰官方网站:冲浪、滑雪板、服装和配件
2019/10/22 全球购物
酒店总经理欢迎词
2014/01/15 职场文书
会计专业自我鉴定
2014/02/10 职场文书
某集团股份有限公司委托书样本
2014/09/24 职场文书
酒店管理专业毕业生自我鉴定
2014/09/29 职场文书
诉讼代理人授权委托书
2014/10/11 职场文书
新生入学欢迎词
2015/01/26 职场文书
2015年度优秀员工推荐信
2015/03/23 职场文书
乡镇科协工作总结2015
2015/05/19 职场文书
水浒传读书笔记
2015/06/25 职场文书
Nginx限流和黑名单配置
2022/05/20 Servers