JavaScript實現滑動門效果
阿新 • • 發佈:2020-01-19
本文例項為大家分享了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); } }
效果展示
根據上面的步驟,就可以實現簡單的滑動門效果,快去試試吧!!!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。