JavaScript實現(xiàn)滑動門效果
本文實例為大家分享了JavaScript實現(xiàn)滑動門效果的具體代碼,供大家參考,具體內(nèi)容如下
一、什么是滑動門
首先你要了解什么是滑動門。
生活中我們經(jīng)??吹揭恍┚W(wǎng)站或是商城有一些滑動門的效果
那么怎么實現(xiàn)一個簡單的滑動門的網(wǎng)頁特效呢?下面簡單分享一下方法,
二、實現(xiàn)滑動門所需技術(shù)
1、簡單的HTML基礎(chǔ)知識
2、簡單的CSS基礎(chǔ)樣式
3、基本的javascript知識
三、如何實現(xiàn)滑動門(重點)
準備好一段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結(jié)構(gòu)添加樣式
*{ 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代碼實現(xiàn)效果
//加載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'; //設(shè)置每道門的初始位置 function SetImgsPos(){ for(var i = 1;i<imgs.length;i++){ imgs[i].style.left = imgWidth + exposeWidth*(i -1)+ 'px'; } } SetImgsPos(); //計算每道門應(yīng)該移動的距離 var translate = imgWidth - exposeWidth; //為每道門綁定事件 for(var i=0;i<imgs.length;i++){ //使用立即調(diào)用的函數(shù)表達式,為了獲得不同的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); } }
效果展示
根據(jù)上面的步驟,就可以實現(xiàn)簡單的滑動門效果,快去試試吧?。?!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
深入淺析JavaScript中數(shù)據(jù)共享和數(shù)據(jù)傳遞
這篇文章主要介紹了深入淺析JavaScript中數(shù)據(jù)共享和數(shù)據(jù)傳遞的相關(guān)資料,需要的朋友可以參考下2016-04-04微信小程序出現(xiàn)wx.navigateTo頁面不跳轉(zhuǎn)問題的解決方法
這篇文章主要介紹了微信小程序出現(xiàn)wx.navigateTo頁面不跳轉(zhuǎn)問題的解決方法,簡單分析了微信小程序出現(xiàn)wx.navigateTo頁面不跳轉(zhuǎn)情況的原因及相應(yīng)的解決方法,需要的朋友可以參考下2017-12-12PHP自動加載autoload和命名空間的應(yīng)用小結(jié)
PHP的自動加載就是我們加載實例化類的時候,不需要手動去寫require來導(dǎo)入這個class.php文件,程序自動幫我們加載導(dǎo)入進來這.篇文章主要介紹了PHP自動加載autoload和命名空的應(yīng)用,需要的朋友可以參考下2017-12-12js數(shù)組方法reduce經(jīng)典用法代碼分享
本文給大家整理了很多關(guān)于js數(shù)組方法reduce的經(jīng)典代碼片段,能夠讓大家更好的理解reduce的實例用法,一起學(xué)習(xí)下吧。2018-01-01