這篇文章主要介紹js如何實(shí)現(xiàn)帶簡單彈性運(yùn)動的導(dǎo)航條,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

效果如下:

代碼如下:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{
margin:0;
padding:0;
}
.ul1{
width:450px;
height:30px;
margin:20px auto;
position:relative;
}
li{
list-style:none;
line-height:30px;
height:30px;
width:100px;
color:orange;
text-align:center;
float:left;
margin-right:5px;
border:1px soli #000;
background-color:red;
}
.mark{
position:absolute;
left:0;
top:0;
overflow:hidden;
}
.mark ul{
width:450px;
position:absolute;
left:0;
top:0;
}
.mark ul li{
color:#fff;
background-color:deepskyblue;
}
</style>
</head>
<body>
<ul class="ul1">
<li class="mark">
<ul>
<li>首頁</li>
<li>論壇</li>
<li>視頻</li>
<li>課程</li>
</ul>
</li>
<li class="box">首頁</li>
<li class="box">論壇</li>
<li class="box">視頻</li>
<li class="box">課程</li>
</ul>
</body>
<script>
window.onload = function(){
var oMark = document.querySelector('.mark');
var oBox = document.querySelectorAll('.box');
var childUl = oMark.querySelector('ul');
var timer = null;
var timer2 = null;//延遲定時器,100毫秒人的眼睛是察覺不出來的
var iSpeed = 0;
for (var i=0;i<oBox.length;i++){
oBox[i].onmouseover = function(){
clearTimeout(timer2);
startMove(this.offsetLeft);
};
oBox[i].onmouseout = function(){
timer2 = setTimeout(function(){
startMove(0);
},100);
};
}
oMark.onmouseover = function(){
clearTimeout(timer2);
};
oMark.onmouseout= function(){
timer2 = setTimeout(function(){
startMove(0);
},100);
};
function startMove(iTarget){
clearInterval(timer);
timer = setInterval(function(){
iSpeed += (iTarget -oMark.offsetLeft)/5;
iSpeed *= 0.75;
if(Math.abs(iSpeed)<=1 && Math.abs(iTarget -oMark.offsetLeft)<=1){
clearInterval(timer);
oMark.style.left = iTarget + 'px';
childUl.style.left = -iTarget + 'px';
iSpeed = 0;
}else {
oMark.style.left = oMark.offsetLeft + iSpeed +'px';
childUl.style.left = -oMark.offsetLeft +'px';
}
},30);
};
};
</script>
</html>以上是“js如何實(shí)現(xiàn)帶簡單彈性運(yùn)動的導(dǎo)航條”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站chinadenli.net,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享題目:js如何實(shí)現(xiàn)帶簡單彈性運(yùn)動的導(dǎo)航條-創(chuàng)新互聯(lián)
分享鏈接:http://chinadenli.net/article8/doocop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、用戶體驗(yàn)、動態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容