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网页出现的乱码问题的三种解决方法
Jun 30 Javascript
JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
Oct 17 Javascript
让DIV的滚动条自动滚动到最底部的3种方法(推荐)
Sep 24 Javascript
微信小程序 教程之条件渲染
Oct 18 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
Jan 04 Javascript
微信小程序 地图map实例详解
Jun 07 Javascript
react-native 封装选择弹出框示例(试用ios&amp;android)
Jul 11 Javascript
Vue自定义指令详解
Jul 28 Javascript
Vue实现动态创建和删除数据的方法
Mar 17 Javascript
手写简单的jQuery雪花飘落效果实例
Apr 22 jQuery
jQuery设置下拉框显示与隐藏效果的方法分析
Sep 15 jQuery
javascript实现多边形碰撞检测
Oct 24 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 静态属性和静态方法区别详解
2017/04/09 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
javascript写的简单的计算器,内容很多,方法实用,推荐
2011/12/29 Javascript
简单的两种Extjs formpanel加载数据的方式
2013/11/09 Javascript
基于javascript实现样式清新图片轮播特效
2016/03/30 Javascript
JS中使用apply、bind实现为函数或者类传入动态个数的参数
2016/04/26 Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
2016/07/09 Javascript
微信小程序 Record API详解及实例代码
2016/09/30 Javascript
js实现对table的增加行和删除行的操作方法
2016/10/13 Javascript
多种方式实现js图片预览
2016/12/12 Javascript
微信小程序实战之轮播图(3)
2017/04/17 Javascript
详解vue.js+UEditor集成 [前后端分离项目]
2017/07/07 Javascript
微信小程序解除10个请求并发限制
2018/12/18 Javascript
js针对图片加载失败的处理方法分析
2019/08/24 Javascript
Vue实现input宽度随文字长度自适应操作
2020/07/29 Javascript
Python中实现的RC4算法
2015/02/14 Python
Python中Iterator迭代器的使用杂谈
2016/06/20 Python
Python中你应该知道的一些内置函数
2017/03/31 Python
python如何将图片转换为字符图片
2020/08/19 Python
python 定时任务去检测服务器端口是否通的实例
2019/01/26 Python
PyQt5实现简易计算器
2020/05/30 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
2019/06/19 Python
Python实现打印实心和空心菱形
2019/11/23 Python
通过Turtle库在Python中绘制一个鼠年福鼠
2020/02/03 Python
解决pycharm 格式报错tabs和space不一致问题
2021/02/26 Python
新西兰第一的行李箱网站:luggage.co.nz
2019/07/22 全球购物
荷兰网上药店:Drogisterij.net
2019/09/03 全球购物
金融行业务员的自我评价
2013/12/13 职场文书
2014年元旦促销活动方案
2014/02/22 职场文书
购房意向书
2014/04/01 职场文书
企业公益活动策划方案
2014/08/24 职场文书
2014年最新学校运动会广播稿
2014/09/17 职场文书
中班下学期个人总结
2015/02/12 职场文书
实习生辞职信范文
2015/03/02 职场文书
乡镇干部学习心得体会
2016/01/23 职场文书
利用Python实现Picgo图床工具
2021/11/23 Python