本文實例講述了Javascript仿新浪游戲頻道鼠標懸停顯示子菜單效果,分享給大家供大家參考。具體如下:
這里演示使用JS實現的網頁欄目分類菜單,從新浪游戲頻道扣下來的,操作方式類似于滑動門的效果,鼠標無需點擊,只需把鼠標放在一級主菜單上,就可顯示出二級分類菜單,這彈出的這個二級菜單中,實際上又重新進行了分類,可以說整體上,這是一款支持三級分類的網站菜單,目前新浪游戲還在用的效果哦。
先來看運行效果截圖:
具體代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>js仿新浪游戲頻道導航條</title> <style type="text/css"> *{margin:0;padding:0;} body{font:14px "微軟雅黑", arial, serif;color:#333;} a,a:link,a:visited{color:#039;} img{border:0;} .header_bg{width:100%;height:128px;background:url(images/header.jpg) no-repeat center top;} .header{margin:0 auto 0 auto;width:988px;height:128px;background:url(images/header_z.jpg) no-repeat center top;} .nav{position:relative;left:4px;top:92px;width:950px;height:35px;background:#333;border-top:1px solid #444;} .nav .list{list-style-type:none;margin-left:15px;} .nav .list li{float:left;position:relative;height:35px;line-height:26px;} .nav .list li .game_hover{float:left;display:block;margin-top:5px;height:30px;padding:0 10px 0 10px;color:#ccc;font-weight:bold;text-decoration:none;} .nav .list li .game_hover_current, .nav .list li .game_hover:hover{background-color:#fff;color:#575757;margin-top:4px;padding:0 9px 0 9px;border:1px solid #666;border-bottom:0;} .hover_cont{display:none;position:absolute;width:auto;height:auto; top:35px;border:1px solid #666;border-top:0;border-bottom-width:2px;background:#fff;z-index:1000;} .hover_cont .nav_cont{padding:15px;padding-bottom:0;} .hover_cont .nav_li{display:inline-block;width:100%;height:100%;*height:auto;*margin-top:7px;padding-bottom:5px;*padding-bottom:12px;border-bottom:1px dashed #ccc;} .hover_cont .nav_li_l{float:left;width:80px;color:#f60;font-weight:bold;} .hover_cont .nav_li_r{float:left;color:#999;font-family:"宋體";font-size:10px;line-height:26px;} .hover_cont .nav_li_r a{padding:0 1px 0 1px;color:#666;font-size:12px;text-decoration:none;} .hover_cont .nav_li_r a:hover{color:red;} .hover_cont .nav_li_r a.orange{color:#f60;} .nav .list .wlyx{width:720px;left:0;} .nav .list .djdj{width:800px;left:0;} .nav .list .yy{width:740px;left:0;} .nav .list .dwsy{width:750px;left:0;} .nav .list .xsk{width:740px;left:0;} .nav .list .cgwr{width:610px;left:0;} .nav .list .xz{width:630px;right:0;} .nav .list .mt{width:580px;right:0;} .nav .list .kyx{width:610px;right:0;} .nav .list .wt{width:510px;right:0;} .nav .list .cy{width:540px;right:0;} .nav .list .wb{width:710px;right:0;} .nav .list .xyx{width:740px;right:0;} .nav .list .sp{width:730px;right:0;} .nav .list .sc{width:700px;right:0;} .content{margin:15px auto 0 auto;width:980px;height:500px;background:#ccc;} </style> <script type="text/javascript"> var $$ = function (id) { return document.getElementById(id); } var getByClass = function (oParent, sClass) { var aEle = oParent.getElementsByTagName("*"); var re = new RegExp("\b" + sClass + "\b"); var arr = []; for (var i = 0; i < aEle.length; i++) { if (re.test(aEle[i].className)) { arr.push(aEle[i]); } } return arr; } var setMainNav = function () { var oMainNav = $$("mainNav"); var aLi = getByClass(oMainNav, "list")[0].getElementsByTagName("li"); var aGameHover = getByClass(oMainNav, "game_hover"); var aHoverCont = getByClass(oMainNav, "hover_cont"); for (var i = 0; i < aGameHover.length; i++) { aGameHover[i].index = i; aGameHover[i].onmouseover = function () { this.className += " "+"game_hover_current"; for (var j = 0; j < aHoverCont.length; j++) { aHoverCont[j].index_j = j; aHoverCont[j].style.display = "none"; aHoverCont[j].onmouseover = function () { this.style.display = "block"; aGameHover[this.index_j].className += " "+"game_hover_current"; } aHoverCont[j].onmouseout = function () { this.style.display = "none"; } } if (aHoverCont[this.index]) { aHoverCont[this.index].style.display = "block"; } } } for (var i = 0; i < aLi.length; i++) { aLi[i].index = i; aLi[i].onmouseout = function () { if (aHoverCont[this.index]) { aHoverCont[this.index].style.display = "none"; } aGameHover[this.index].className = "game_hover"; } } } window.onload = function () { setMainNav(); } </script> </head> <body> <div class="header_bg"> <div class="header"> <div class="nav" id="mainNav"> <ul class="list"> <li> <a href="#" class="game_hover">網絡游戲</a> <div class="hover_cont wlyx"> <div class="nav_cont"> <div class="nav_li"> <div class="nav_li_l"> 熱門網游 </div> <div class="nav_li_r"> <a href="#">問道</a>┊<a href="#">DOTA2</a>┊<a href="#">魔獸世界</a>┊<a href="#">夢幻西游</a>┊<a href="#">九陰真經</a>┊<a href="#">頹廢之心</a>┊<a href="#">英雄聯盟</a>┊<a href="#">天龍八部</a>┊<a href="#">龍之谷</a>┊<a href="#">星辰變</a><br /> <a href="#">劍靈</a>┊<a href="#">征途2</a>┊<a href="#">神鬼世界</a>┊<a href="#">劍俠情緣3</a>┊<a href="#">倩女幽魂</a>┊<a href="#">永恒之塔</a>┊<a href="#">仙俠世界</a>┊<a href="#">龍門客棧</a>┊<a href="#">獨孤求敗</a>┊<a href="#">神武</a> </div> </div> <div class="nav_li"> <div class="nav_li_l"> 期待網游 </div> <div class="nav_li_r"> <a href="#">問道</a>┊<a href="#">DOTA2</a>┊<a href="#">魔獸世界</a>┊<a href="#">夢幻西游</a>┊<a href="#">九陰真經</a>┊ <a href="#">頹廢之心</a>┊<a href="#">英雄聯盟</a>┊<a href="#">天龍八部</a>┊<a href="#">龍之谷</a>┊<a href="#">星辰變</a><br /> <a href="#">劍靈</a>┊<a href="#">征途2</a>┊<a href="#">神鬼世界</a>┊<a href="#">劍俠情緣3</a>┊<a href="#">倩女幽魂</a>┊ <a href="#">永恒之塔</a>┊<a href="#">仙俠世界</a>┊<a href="#">龍門客棧</a>┊<a href="#">獨孤求敗</a>┊<a href="#">神武</a> </div> </div> <div class="nav_li"> <div class="nav_li_l"> 新游尾行 </div> <div class="nav_li_r"> <a href="#" title="怪物獵人OL">怪物獵人OL全球玩家評論收集</a>┊<a href="#" title="圣王_新浪游戲">圣王首測視頻解說</a>┊ <a href="#" title="龍門客棧_新浪游戲">龍門客棧五大特色詳解</a>┊<a href="#" title="行星邊際2_新浪游戲">行星邊際2老玩家10大建議</a>┊ <a href="#" title="新游尾行匯總頁" class="orange">更多>></a> </div> </div> <div class="nav_li"> <div class="nav_li_l"> 熱門廠商 </div> <div class="nav_li_r"> <a href="#" title="騰訊游戲_新浪游戲">騰訊游戲</a>┊<a href="#" title="網易游戲_新浪游戲">網易游戲</a>┊ <a href="#" title="盛大游戲_新浪游戲">盛大游戲</a>┊<a href="#" title="完美世界_新浪游戲">完美世界</a>┊ <a href="#" title="巨人網絡_新浪游戲">巨人網絡</a>┊<a href="#" title="暢游_新浪游戲">暢游</a>┊<a href="#" title="游戲蝸牛_新浪游戲">游戲蝸牛</a>┊ <a href="#" title="空中網_新浪游戲"
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com