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 相关文章推荐
DOM_window对象属性之--clipboardData对象操作代码
Feb 03 Javascript
JavaScript中的object转换成number或string规则介绍
Dec 31 Javascript
深入理解JS函数的参数(arguments)的使用
May 28 Javascript
jQuery UI结合Ajax创建可定制的Web界面
Jun 22 Javascript
js仿百度切换皮肤功能(html+css)
Jul 10 Javascript
简单实现js倒计时功能
Feb 13 Javascript
JavaScript轮播图简单制作方法
Feb 20 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
Nov 07 Javascript
微信小程序修改数组长度的问题的解决
Dec 17 Javascript
element 中 el-menu 组件的无限极循环思路代码详解
Apr 26 Javascript
JS求解两数之和算法详解
Apr 28 Javascript
在vue项目中 实现定义全局变量 全局函数操作
Oct 26 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中使用preg_replace函数匹配图片并加上链接的方法
2013/02/06 PHP
基于header的一些常用指令详解
2013/06/06 PHP
ZF框架实现发送邮件的方法
2015/12/03 PHP
php开发时容易忘记的一些技术细节
2016/02/03 PHP
Yii框架where查询用法实例分析
2019/10/22 PHP
Dom操作之兼容技巧分享
2011/09/20 Javascript
Extjs3.0 checkboxGroup 动态添加item实现思路
2013/08/14 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
2015/03/11 Javascript
jQuery网页选项卡插件rTabs用法实例分析
2015/08/26 Javascript
jQuery中的siblings用法实例分析
2015/12/24 Javascript
js点击文本框弹出可选择的checkbox复选框
2016/02/03 Javascript
AngularJS通过$sce输出html的方法
2016/09/22 Javascript
jQuery实现倒计时(倒计时年月日可自己输入)
2016/12/02 Javascript
浅谈jQuery中Ajax事件beforesend及各参数含义
2016/12/03 Javascript
AngularJS日程表案例详解
2017/08/15 Javascript
JavaScript闭包的简单应用
2017/09/01 Javascript
浅谈Redux中间件的实践
2018/07/27 Javascript
使用vscode快速建立vue模板过程详解
2019/10/10 Javascript
vue使用swiper实现中间大两边小的轮播图效果
2019/11/24 Javascript
node.js基于dgram数据报模块创建UDP服务器和客户端操作示例
2020/02/12 Javascript
python实现K最近邻算法
2018/01/29 Python
Python将文本去空格并保存到txt文件中的实例
2018/07/24 Python
Django JWT Token RestfulAPI用户认证详解
2019/01/23 Python
python中的数据结构比较
2019/05/13 Python
python实现TCP文件传输
2020/03/20 Python
Hanro官网:奢华男士和女士内衣、睡衣和家居服
2018/10/25 全球购物
财务出纳员岗位职责
2013/11/26 职场文书
设计师个人求职信范文
2014/02/02 职场文书
应聘医药销售自荐书范文
2014/02/08 职场文书
演讲稿格式
2014/04/30 职场文书
环保倡议书怎么写
2014/05/16 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书
2015年出纳年终工作总结
2015/05/14 职场文书
新娘婚礼致辞
2015/07/27 职场文书
python 制作一个gui界面的翻译工具
2021/05/14 Python
Win11绿屏怎么办?Win11绿屏死机的解决方法
2021/11/21 数码科技