純JS實現(xiàn)彈性導(dǎo)航條效果
更新時間:2017年03月06日 16:08:20 作者:shangpudxd
本文主要介紹了純JS實現(xiàn)彈性導(dǎo)航條效果的實例,具有很好的參考價值。下面跟著小編一起來看下吧
效果圖:

代碼如下:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{margin:0; padding:0; list-style:none;}
ul{ overflow:hidden; background:#ccc; width:574px; margin:100px auto; position:relative;}
ul li{ float:left; width:80px; height:40px; text-align:center; line-height:40px; border:1px solid #000; position:relative; z-index:2;}
#block_box{ position:absolute; top:0; left:0; background:#399; z-index:1;}
</style>
<script>
var left = 0;
var iSpeed = 0;
function move(obj,iTarget){
clearInterval(obj.timer);
obj.timer = setInterval(function(){
iSpeed+=(iTarget-left)/5;
iSpeed*=0.75;
left+=iSpeed;
obj.style.left = left+'px';
if(Math.round(iSpeed)==0&&Math.round(left)==iTarget){
clearInterval(obj.timer);
}
},30);
}
window.onload = function(){
var aLi = document.getElementsByTagName('li');
var oBlock = document.getElementById('block_box');
var iNow = 0;
for(var i=0;i<aLi.length-1;i++){
;(function(index){
aLi[i].onmouseover = function(){
//oBlock.style.left = index*aLi[0].offsetWidth+'px';
move(oBlock,index*aLi[0].offsetWidth);
};
aLi[i].onmouseout = function(){
//oBlock.style.left = 0;
move(oBlock,iNow*aLi[0].offsetWidth);
};
aLi[i].onclick = function(){
iNow=index;
};
})(i);
}
};
</script>
</head>
<body>
<ul>
<li>首頁</li>
<li>CSS課程</li>
<li>JS課程</li>
<li>HTML5課程</li>
<li>視頻教程</li>
<li>課程案例</li>
<li>聯(lián)系方式</li>
<li id="block_box"></li>
</ul>
</body>
</html>
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
您可能感興趣的文章:
相關(guān)文章
javascript中encodeURI和decodeURI方法使用介紹
encodeURI和decodeURI是成對來使用的,因為瀏覽器的地址欄有中文字符的話,可以會出現(xiàn)不可預(yù)期的錯誤,所以可以encodeURI把非英文字符轉(zhuǎn)化為英文編碼,decodeURI可以用來把字符還原回來2013-05-05
字節(jié)跳動面試之如何用JS實現(xiàn)Ajax并發(fā)請求控制
這篇文章主要給大家介紹了關(guān)于字節(jié)跳動面試之如何用JS實現(xiàn)Ajax并發(fā)請求控制的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05

