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的地址栏射击游戏代码
Mar 10 Javascript
javascript工具库代码
Mar 29 Javascript
js快速排序的实现代码
Dec 08 Javascript
Javascript闭包(Closure)详解
May 05 Javascript
不得不分享的JavaScript常用方法函数集(下)
Dec 25 Javascript
jQuery表格插件datatables用法详解
Nov 23 Javascript
javascript数组遍历的方法实例分析
Sep 13 Javascript
jquery validation验证表单插件
Jan 07 Javascript
在js代码拼接dom对象到页面上去的模板总结(必看)
Feb 14 Javascript
BootStrap selectpicker后台动态绑定数据的方法
Jul 28 Javascript
《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析
Apr 07 Javascript
vue基于Echarts的拖拽数据可视化功能实现
Dec 04 Vue.js
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中其实也可以用方法链
2011/11/10 PHP
CentOS下PHP安装Oracle扩展
2015/02/15 PHP
PHP中多线程的两个实现方法
2016/10/14 PHP
thinkphp 手机号和用户名同时登录
2017/01/20 PHP
Laravel 类和接口注入相关的代码
2019/10/15 PHP
从javascript语言本身谈项目实战
2006/12/27 Javascript
javascript客户端解决方案 缓存提供程序
2010/07/14 Javascript
JavaScript调用客户端的可执行文件(示例代码)
2013/11/28 Javascript
jquery+ajax实现跨域请求的方法
2015/01/20 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
2016/12/30 Javascript
javascript 动态生成css代码的两种方法
2017/03/17 Javascript
微信小程序 setData的使用方法详解
2017/04/20 Javascript
详解Angular-Cli中引用第三方库
2017/05/21 Javascript
vue展示dicom文件医疗系统的实现代码
2018/08/27 Javascript
深入理解Vue 的钩子函数
2018/09/05 Javascript
小程序实现列表点赞功能
2018/11/02 Javascript
[01:45]亚洲邀请赛互动指南虚拟物品介绍
2015/01/30 DOTA
[33:19]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第一场 11.26
2020/11/30 DOTA
python高效过滤出文件夹下指定文件名结尾的文件实例
2018/10/21 Python
python3使用QQ邮箱发送邮件
2020/05/20 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
使用HTML5做个画图板的方法介绍
2013/05/03 HTML / CSS
奥地利票务门户网站:oeticket.com
2019/12/31 全球购物
大学生护理专业自荐信
2013/10/03 职场文书
师范毕业生自荐信
2013/10/17 职场文书
高一化学教学反思
2014/02/05 职场文书
音乐教学随笔感言
2014/02/19 职场文书
梅花魂教学反思
2014/04/25 职场文书
优秀教师演讲稿
2014/05/06 职场文书
2014年安全生产目标责任书
2014/07/23 职场文书
苏州园林导游词
2015/02/03 职场文书
2015年大学宣传部工作总结
2015/05/26 职场文书
学校食堂管理制度
2015/08/04 职场文书
Python实现照片卡通化
2021/12/06 Python