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 相关文章推荐
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
Nov 04 Javascript
使用jquery插件实现图片延迟加载技术详细说明
Mar 12 Javascript
比较不错的JS/JQuery显示或隐藏文本的方法
Feb 13 Javascript
浅谈JavaScript中定义变量时有无var声明的区别
Aug 18 Javascript
JS实现鼠标滑过折叠与展开菜单效果代码
Sep 06 Javascript
原生JavaScript实现异步多文件上传
Dec 02 Javascript
jQuery实现滚动鼠标放大缩小图片的方法(附demo源码下载)
Mar 05 Javascript
全面解析Bootstrap中scrollspy(滚动监听)的使用方法
Jun 06 Javascript
jQuery选择器之属性筛选选择器用法详解
Sep 19 jQuery
Vue路由history模式解决404问题的几种方法
Sep 29 Javascript
Vue中添加滚动事件设置的方法详解
Sep 14 Javascript
如何vue使用el-table遍历循环表头和表体数据
Apr 26 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
php自动获取目录下的模板的代码
2010/08/08 PHP
php目录操作函数之获取目录与文件的类型
2010/12/29 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
2020/10/01 PHP
php include类文件超时问题处理
2015/02/06 PHP
php实现json编码的方法
2015/07/30 PHP
PHP精确到毫秒秒杀倒计时实例详解
2019/03/14 PHP
jquery简单体验
2007/01/10 Javascript
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
2010/03/07 Javascript
js+html+css实现鼠标移动div实例
2013/01/30 Javascript
js获取下拉列表的值和元素个数示例
2014/05/07 Javascript
浅谈jquery回调函数callback的使用
2015/01/30 Javascript
高性能JavaScript模板引擎实现原理详解
2015/02/05 Javascript
js实现可得到不同颜色值的颜色选择器实例
2015/02/28 Javascript
JavaScript引用类型和基本类型详解
2016/01/06 Javascript
javascript 的变量、作用域和内存问题
2017/04/19 Javascript
如何在 Vue.js 中使用第三方js库
2017/04/25 Javascript
vuejs 单文件组件.vue 文件的使用
2017/07/28 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
聊聊那些使用前端Javascript实现的机器学习类库
2017/09/18 Javascript
Vue作用域插槽slot-scope实例代码
2018/09/05 Javascript
React Native中ScrollView组件轮播图与ListView渲染列表组件用法实例分析
2020/01/06 Javascript
Python教程之全局变量用法
2016/06/27 Python
用不到50行的Python代码构建最小的区块链
2017/11/16 Python
python numpy中cumsum的用法详解
2019/10/17 Python
pycharm激活码快速激活及使用步骤
2020/03/12 Python
python实现PolynomialFeatures多项式的方法
2021/01/06 Python
Python3.9.0 a1安装pygame出错解决全过程(小结)
2021/02/02 Python
美国名牌手表折扣网站:Jomashop
2020/05/22 全球购物
电信专业应届生自荐信
2013/09/28 职场文书
小学教师的自我评价范例
2013/10/31 职场文书
顶撞老师检讨书
2014/02/07 职场文书
党员评议思想汇报
2014/10/08 职场文书
2014年初级职称工作总结
2014/12/08 职场文书
致运动员的广播稿
2015/08/19 职场文书
2016年师德学习心得体会
2016/01/12 职场文书
MySQL 分区表中分区键为什么必须是主键的一部分
2022/03/17 MySQL