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 相关文章推荐
js 面向对象的技术创建高级 Web 应用程序
Feb 25 Javascript
js 剪切板应用clipboardData详细解析
Dec 17 Javascript
Array 重排序方法和操作方法的简单实例
Jan 24 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
Jun 16 Javascript
jQuery实现图片左右滚动特效
Apr 20 Javascript
在AngularJS中如何使用谷歌地图把当前位置显示出来
Jan 25 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单的实现代码
Jun 23 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
Jul 28 Javascript
js构造函数创建对象是否加new问题
Jan 22 Javascript
Vue多系统切换实现方案
Jun 05 Javascript
如何在vue里添加好看的lottie动画
Aug 02 Javascript
解决webpack+Vue引入iView找不到字体文件的问题
Sep 28 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二维数组用键名分组相加实例函数
2013/11/06 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
php用户名的密码加密更安全的方法
2019/06/21 PHP
Javascript学习笔记2 函数
2010/01/11 Javascript
js实现翻页后保持checkbox选中状态的实现方法
2012/11/03 Javascript
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
JavaScript学习心得之概述
2015/01/20 Javascript
如何实现JavaScript动态加载CSS和JS文件
2020/12/28 Javascript
JS使用eval解析JSON的注意事项分析
2015/11/14 Javascript
FullCalendar日历插件应用之数据展现(一)
2015/12/23 Javascript
javascript实现瀑布流加载图片原理
2016/02/02 Javascript
浅谈javascript中new操作符的原理
2016/06/07 Javascript
prototype.js常用函数详解
2016/06/18 Javascript
NODE.JS跨域问题的完美解决方案
2016/10/20 Javascript
Vue.js组件使用开发实例教程
2016/11/01 Javascript
Webpack执行命令参数详解
2017/06/17 Javascript
JavaScript文档加载模式以及元素获取
2020/07/28 Javascript
vue 验证两次输入的密码是否一致的方法示例
2020/09/29 Javascript
python装饰器与递归算法详解
2016/02/18 Python
Python抓取框架 Scrapy的架构
2016/08/12 Python
django定期执行任务(实例讲解)
2017/11/03 Python
Python3.6简单反射操作示例
2018/06/14 Python
python字符串循环左移
2019/03/08 Python
解决Python设置函数调用超时,进程卡住的问题
2019/08/08 Python
Django学习之文件上传与下载
2019/10/06 Python
python 利用matplotlib在3D空间中绘制平面的案例
2021/02/06 Python
基于css3仿造window7的开始菜单
2010/06/17 HTML / CSS
艺术系应届生的自我评价
2013/10/19 职场文书
专科应届生求职信
2013/11/24 职场文书
学前班评语大全
2014/05/04 职场文书
工作求职自荐信
2014/06/13 职场文书
学雷锋志愿者活动方案
2014/08/21 职场文书
行政文员岗位职责
2015/02/04 职场文书
Python中X[:,0]和X[:,1]的用法
2021/05/10 Python
基于HTML十秒做出淘宝页面
2021/10/24 HTML / CSS
Java由浅入深通关抽象类与接口(下篇)
2022/04/26 Java/Android