JavaScript实现滑动门效果


Posted in Javascript onJanuary 18, 2020

本文实例为大家分享了JavaScript实现滑动门效果的具体代码,供大家参考,具体内容如下

一、什么是滑动门

首先你要了解什么是滑动门。
生活中我们经常看到一些网站或是商城有一些滑动门的效果

JavaScript实现滑动门效果

那么怎么实现一个简单的滑动门的网页特效呢?下面简单分享一下方法,

二、实现滑动门所需技术

1、简单的HTML基础知识
2、简单的CSS基础样式
3、基本的javascript知识

三、如何实现滑动门(重点)

准备好一段HTML代码

<div id="container">
  <img src="images/20190503222903.png"/><!--图片可以自己修改-->
  <img src="images/20190503222943.png"/>
  <img src="images/20190503223003.png"/>
  <img src="images/20190503223514.png"/>
</div>

给当前HTML结构添加样式

*{
  margin: 0;
  padding: 0;
  background-color: #ccc;
}
p{
  text-align: center;
}
#container{
  width: 1130px;
  height: 350px;
  margin: 0 auto;
  border-right:1px solid #FF0000;
  border-bottom:1px solid #FF0000;
  overflow: hidden;
  position: relative;
}
#container img{
  width:500px;
  height:350px;
  display: block;
  position: absolute;
  border-bottm:1px solid #FF0000;
}

最后使用js代码实现效果

//加载dom树
window.onload = function(){
//定义盒子
var box=document.getElementById('container');
//定义图片
var imgs=box.getElementsByTagName('img');
//图片宽度
var imgWidth = imgs[0].offsetWidth;
//隐藏宽度
var exposeWidth = 210;
//盒子宽度
var boxWidth = imgWidth + (imgs.length -1) * exposeWidth;
box.style.width='px';
//设置每道门的初始位置
function SetImgsPos(){
for(var i = 1;i<imgs.length;i++){
      imgs[i].style.left = imgWidth + exposeWidth*(i -1)+ 'px';
      }
    }
    SetImgsPos();
     //计算每道门应该移动的距离
    var translate = imgWidth - exposeWidth;
    //为每道门绑定事件
    for(var i=0;i<imgs.length;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';
          }
        }
      })(i);
    }
  }

效果展示

JavaScript实现滑动门效果

根据上面的步骤,就可以实现简单的滑动门效果,快去试试吧!!!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery示例收集
Nov 05 Javascript
jQuery中andSelf()方法用法实例
Jan 08 Javascript
jQuery EasyUi实战教程之布局篇
Jan 26 Javascript
js正则表达式replace替换变量方法
May 21 Javascript
AngularJS实践之使用NgModelController进行数据绑定
Oct 08 Javascript
浅谈jquery页面初始化的4种方式
Nov 27 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
Dec 07 Javascript
Bootstrap笔记—折叠实例代码
Mar 13 Javascript
three.js中文文档学习之如何本地运行详解
Nov 20 Javascript
基于three.js实现的3D粒子动效实例代码
Apr 09 Javascript
webpack4 配置 ssr 环境遇到“document is not defined”
Oct 24 Javascript
Js参数RSA加密传输之jsencrypt.js的使用
Feb 07 Javascript
JS数组方法push()、pop()用法实例分析
Jan 18 #Javascript
vue中使用WX-JSSDK的两种方法(推荐)
Jan 18 #Javascript
JS数组方法join()用法实例分析
Jan 18 #Javascript
JavaScript进制转换实现方法解析
Jan 18 #Javascript
js滚轮事件 js自定义滚动条的实现
Jan 18 #Javascript
vue实现扫码功能
Jan 17 #Javascript
js实现轮播图效果 z-index实现轮播图
Jan 17 #Javascript
You might like
php初始化对象和析构函数的简单实例
2014/03/11 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
php截取视频指定帧为图片
2016/05/16 PHP
ThinkPHP3.2框架操作Redis的方法分析
2019/05/05 PHP
如何在标题栏显示框架内页面的标题
2007/02/03 Javascript
javascript mouseover、mouseout停止事件冒泡的解决方案
2009/04/07 Javascript
js 代码集(学习js的朋友可以看下)
2009/07/22 Javascript
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
在javascript中如何得到中英文混合字符串的长度
2014/01/17 Javascript
基于jquery实现表格无刷新分页
2016/01/07 Javascript
关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
2016/05/17 Javascript
javascript学习笔记_浅谈基础语法,类型,变量
2016/09/19 Javascript
关于 angularJS的一些用法
2017/11/29 Javascript
Vue-cli@3.0 插件系统简析
2018/09/05 Javascript
Vue插值、表达式、分隔符、指令知识小结
2018/10/12 Javascript
详解React中合并单元格的正确写法
2019/01/08 Javascript
vue项目中引入vue-datepicker插件的详解
2019/05/14 Javascript
17个Python小技巧分享
2015/01/23 Python
django数据库migrate失败的解决方法解析
2018/02/08 Python
浅谈tensorflow1.0 池化层(pooling)和全连接层(dense)
2018/04/27 Python
在Python中使用defaultdict初始化字典以及应用方法
2018/10/31 Python
Python Pillow(PIL)库的用法详解
2020/09/19 Python
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
德国前卫设计师时装在线商店:Luxury Loft
2019/11/04 全球购物
Linux开机引导的步骤是什么
2014/02/26 面试题
会计自我鉴定
2014/02/04 职场文书
党支部换届选举方案
2014/05/08 职场文书
煤矿安全知识竞赛活动总结
2014/07/07 职场文书
2014机关党员干部“正风肃纪”思想汇报
2014/09/15 职场文书
印刷技术专业自荐信
2014/09/18 职场文书
教师对照四风自我剖析材料
2014/09/30 职场文书
党的群众路线批评与自我批评范文
2014/10/16 职场文书
年会邀请函范文
2015/01/30 职场文书
python 中yaml文件用法大全
2021/07/04 Python
MySQL分区路径子分区再分区
2022/04/13 MySQL