1. 程式人生 > 程式設計 >JavaScript實現滑動門效果

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);
    }
  }

效果展示

根據上面的步驟,就可以實現簡單的滑動門效果,快去試試吧!!!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。