js实现图片推拉门效果代码实例


Posted in Javascript onMay 18, 2019

初学者。

推拉门是网页中常见的一种形式,通过JS实现比较简单。主要是通过getElement找到节点元素,然后对其进行相应的赋值即可。

新建一个index.html文件,并在同一个目录中添加三个文件夹,images(用来当作“门”的图片),styles(用来存放css文件),scripts(用来存放js文件)。然后在index.html中添加代码:

<!doctype html>
<html>
	<head>
	<meta charset="utf-8"/>
	<title>sliding doors</title>
	<link rel="stylesheet" href="styles/doors.css" rel="external nofollow" />
	<script src="scripts/doors.js"></script>
	</head>
	<body>
		<div id="container">
			<img src="images/door1.jpg" alt="柯南" title="柯南"/>
			<img src="images/door2.jpg" alt="柯南" title="柯南"/>
			<img src="images/door3.jpg" alt="柯南" title="柯南"/>
			<img src="images/door4.jpg" alt="柯南" title="柯南"/>
		</div>
	</body>
</html>

接着是styles目录下的doors.css:

#container{
	height:600px;
	border-right:1px solid #ccc;
	border-bottom:1px solid #ccc;
	margin:0 auto;
	position:relative;
	overflow:hidden;
}
 
#container img{
	position:absolute;
	border-left:1px solid #ccc;
	display:block;
	left:0;
}

然后是scripts目录下的doors.js:

window.onload = function()
{
	var box = document.getElementById("container"); //获得容器对象
	var imgs = box.getElementsByTagName("img"); //获得图片对象数组
	imgWidth = imgs[0].offsetWidth; //图片宽度
	var exposeWidth = 100; //每张图片露出的宽度
	var boxWidth = imgWidth + exposeWidth * (imgs.length - 1);
	box.style.width = boxWidth + "px";
	
	//初始化图片位置
	function reset()
	{
		for(var i = 1; i < imgs.length; i ++)
		{
			imgs[i].style.left = imgWidth + (i - 1) * exposeWidth + "px";
		}
	} 
	reset();
	
	//开门时候每个图片应该左移的距离
	var translate = imgWidth - exposeWidth;
	//为每个图片添加事件
	for(var i = 0; i < imgs.length; i ++)
	{
		
		//自动执行函数
		(function(i){
			imgs[i].onmouseover = function()
			{
				//重置图片位置
				reset();
				for(var j = 1; j <= i; j ++)
				{
					imgs[j].style.left = parseInt(imgs[j].style.left, 10) - translate + "px";
					
				}
			};
			
		})(i);
	}
};

这样即可实现推拉门效果。

效果如下,截图略微粗糙

js实现图片推拉门效果代码实例

以上所述是小编给大家介绍的js实现图片推拉门效果代码实例详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js模拟类继承小例子
Jul 17 Javascript
改写一个简单的菜单 弹性大小
Dec 02 Javascript
关于jquery css的使用介绍
Apr 18 Javascript
JS正则表达式大全(整理详细且实用)
Nov 14 Javascript
JavaScript中对象property的读取和写入方法介绍
Dec 30 Javascript
新入门node.js必须要知道的概念(必看篇)
Aug 10 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
Dec 15 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
Dec 22 Javascript
vue中post请求以a=a&amp;b=b 的格式写遇到的问题
Apr 27 Javascript
详解webpack 热更新优化
Sep 13 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
Sep 28 Javascript
vue项目打包后路由错误的解决方法
Apr 13 Vue.js
微信小程序代码上传、审核发布小程序
May 18 #Javascript
详解js中let与var声明变量的区别
Apr 05 #Javascript
webpack中如何加载静态文件的方法步骤
May 18 #Javascript
微信小程序实现录音时的麦克风动画效果实例
May 18 #Javascript
vue+egg+jwt实现登录验证的示例代码
May 18 #Javascript
egg.js的基本使用和调用数据库的方法示例
May 18 #Javascript
inquirer.js一个用户与命令行交互的工具详解
May 18 #Javascript
You might like
基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
2011/09/28 Javascript
遍历jquery对象的代码分享
2011/11/02 Javascript
Javascript图像处理思路及实现代码
2012/12/25 Javascript
浅谈javascript六种数据类型以及特殊注意点
2013/12/20 Javascript
javascript的push使用指南
2014/12/05 Javascript
js实现的Easy Tabs选项卡用法实例
2015/09/06 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
jQuery如何获取动态添加的元素
2016/06/24 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
2016/08/31 Javascript
javascript使用 concat 方法对数组进行合并的方法
2016/09/08 Javascript
node.js中cluster的使用教程
2017/06/09 Javascript
详解js正则表达式验证时间格式xxxx-xx-xx形式
2018/02/09 Javascript
JS module的导出和导入的实现代码
2019/02/25 Javascript
JavaScript设计模式--简单工厂模式定义与应用案例详解
2020/05/23 Javascript
js实现表单项的全选、反选及删除操作示例
2020/06/05 Javascript
React Ant Design树形表格的复杂增删改操作
2020/11/02 Javascript
Python使用bs4获取58同城城市分类的方法
2015/07/08 Python
微信 用脚本查看是否被微信好友删除
2016/10/28 Python
Django后台获取前端post上传的文件方法
2018/05/28 Python
python 字典中文key处理,读取,比较方法
2018/07/06 Python
python中scikit-learn机器代码实例
2018/08/05 Python
Python开发的十个小贴士和技巧及长常犯错误
2018/09/27 Python
python向字符串中添加元素的实例方法
2019/06/28 Python
python处理自动化任务之同时批量修改word里面的内容的方法
2019/08/23 Python
全方位了解CSS3的Regions扩展
2015/08/07 HTML / CSS
中国包裹转运寄送国际服务:Famiboat
2019/07/24 全球购物
乌克兰网上珠宝商店:GoldSoveren
2020/03/31 全球购物
德国净水壶和滤芯品牌:波尔德PearlCo(家用净水器)
2020/04/29 全球购物
个人思想理论学习的自我鉴定
2013/11/30 职场文书
采购意向书范本
2014/03/31 职场文书
土地转让协议书范本
2014/04/15 职场文书
《大作家的小老师》教学反思
2014/04/16 职场文书
学校就业推荐信范文
2014/05/19 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
2014年作风建设剖析材料
2014/10/23 职场文书