<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    下拉菜單全攻略-JavaScript篇

    自適應(yīng)分辨率可擴展二層JS下拉菜單

    序言:

    隨著互聯(lián)網(wǎng)的普及和網(wǎng)頁制作技術(shù)的發(fā)展,越來越多的網(wǎng)友開始制作自己的網(wǎng)站。做為網(wǎng)站最重要的部分—導(dǎo)航菜單也出現(xiàn)了各式各樣的設(shè)計和制作方法。 其中下拉式導(dǎo)航菜單已經(jīng)成為多欄目大信息量網(wǎng)站的首選導(dǎo)航方式。那么,在下面我將簡單介紹一下眾多下拉菜單制作方法中完全使用JS自動生成的“自適應(yīng)分辨 率可擴展二層JS下拉菜單”的工作原理和使用方法。

    1、 S下拉菜單原理

    下拉菜單實際上就是在開始的時候顯示一級或者說是主菜單(圖一)。當觸發(fā)條件(例如:鼠標移動到上面時)顯示次級菜單(圖二)。

    圖一


    圖二


    那么如何實現(xiàn)這樣的效果呢。其實很簡單。所有的下拉菜單都是通過圖層的顯隱來實現(xiàn)的。在文件下載的時候,其實主菜單和次級菜單都以經(jīng)形成或者說下 載到了客戶端也就是你的機器里。只是次級菜單被隱藏起來。隱藏的方法一般是使用javascript 配合css控制次級菜單的圖層的屬性visibility為隱藏
    。所以在開始的使用你是看不見次級菜單的。當滿足觸發(fā)條件(例如:鼠標移動到上面)時,在使用javascript來控制次級菜單顯示。當在次滿足觸發(fā)條件時(例如:鼠標移開),控制次級菜單隱藏。

    我們現(xiàn)在講的這個” 自適應(yīng)分辨率可擴展二層JS下拉菜單”可以自動適應(yīng)瀏覽器分辨率的改變始終保持相對位置。可以方便的自己定制菜單顯示內(nèi)容及連接頁面。可以隨意擴充主導(dǎo)航和次導(dǎo)航的欄目個數(shù)。可以自由改變連接和導(dǎo)航表格的樣式和外觀等等。

    2、"自適應(yīng)分辨率可擴展二層JS下拉菜單"js代碼詳解


    //--------------- 主導(dǎo)航條內(nèi)容 ------------//
    var mainLayer=new Array("藍色理想","動意營造");//主導(dǎo)航欄目

    //--------------- 次導(dǎo)航條內(nèi)容 ------------//
    var subLayer0=new Array("論壇","文獻"); //導(dǎo)航欄目一下的次級欄目
    var subLayerHttp0=new Array("#","#");’’;//主導(dǎo)航欄目一下的次級欄目連接地址
    var subLayer1=new Array("論壇","文獻");//導(dǎo)航欄目二的次級欄目
    var subLayerHttp1=new Array("#","#");//主導(dǎo)航欄目二的次級欄目連接地址



    //--------------- 主導(dǎo)航條Table參數(shù)調(diào)整 ------------//
    var mainTableTdWidth=100; //每個TD的寬度,調(diào)整主導(dǎo)航內(nèi)容間距
    var mainTableBorder=0; //調(diào)整主導(dǎo)航表格邊框?qū)挾?
    var mainTableCellspacing=0; //調(diào)整主導(dǎo)航表格Cellspacing
    var mainTableCellpadding=1; //調(diào)整主導(dǎo)航表格Cellpadding
    var mainTableBgcolor="#000000"; //調(diào)整主導(dǎo)航表格背景色
    var mainTableBordercolor=""; //調(diào)整主導(dǎo)航表格編框顏色
    var mainTableBackgroundImg=""; //調(diào)整主導(dǎo)航表格背景圖片url地址
    var hrefClassName="link" //調(diào)整url風(fēng)格樣式
    var mainTableTdBgcolor="B2CBCF"; //調(diào)整主導(dǎo)航表格Td色

    //--------------- 次導(dǎo)航條Table參數(shù)調(diào)整 ------------//
    var subTableBorder=0; //調(diào)整次導(dǎo)航條表格邊框?qū)挾?
    var subTableCellspacing=0; //調(diào)整次導(dǎo)航條表格Cellspacing
    var subTableCellpadding=1; //調(diào)整次導(dǎo)航條表格Cellpadding
    var subTableBgcolor="#000000"; //調(diào)整次導(dǎo)航條表格背景色
    var subTableBordercolor=""; //次導(dǎo)航條表格編框顏色
    var subTableBackgroundImg=""; //次導(dǎo)航條表格背景圖片url地址
    var subTableTdBgcolor="B2CBCF"; //調(diào)整次導(dǎo)航表格Td色
    var sbuTabbleTop=21; //次導(dǎo)航表格上下微調(diào)
    var sbuTabbleLeft=-1; //次導(dǎo)航表格左右微調(diào)

    //--------------- 系統(tǒng)參數(shù)*請勿調(diào)整 ------------//
    var layerMax=mainLayer.length+10;
    var layerName=”index”

    //--------------- 生成下拉菜單 ------------//
    function createMainLayer(){
    document.write("
    ");
    for(i=0;i
    document.write("
    ");
    }
    document.write("
     "+mainLayer[i]+"
    ");

    for(j=0;j
    createSubLayer(j);
    }
    document.write("
    ");
    }


    //--------------- 生成每項下拉菜單內(nèi)容 ------------//
    function createSubLayer(num){
    var subLayerName= layerName +num;
    var subLayerLeft=(mainTableTdWidth*num)+mainTableCellpadding+mainTableBorder;
    var subLayerList=eval("subLayer"+num);
    var subLayerHttpList=eval("subLayerHttp"+num);
    document.write(" ");

    }

    //------------------------------次菜單顯隱控制--------------------------//
    function layervib(type,num){
    var H=type;
    var temp=(H='visible'?'hidden':'visible')
    for(var i=0;i
    var E=eval('document.all.index'+i+'.style');
    var H=eval(i);
    if(i==num){E.visibility=type}else{E.visibility=temp};
    }
    }

    3、"自適應(yīng)分辨率可擴展二層JS下拉菜單"js代碼使用方法。

    (1) 將上面的代碼存儲為js_daohang.js.放在和調(diào)用的頁面同一個目錄下。
    (2) 在需要使用的葉面中在如下位置添加
    來產(chǎn)生菜單。如下例。可以隨意擺放到頁面的任何位置。






     


    (4)、如何添加新的主菜單及次級菜單的欄目。
    假設(shè)我們要在已有的欄目里新增加一個“七色鳥”欄目。下面有“論壇”和“文獻”兩個次級欄目。那么我么首先要在代碼的如下部分添加“七色鳥”。

    var mainLayer=new Array("藍色理想","動意營造",”七色鳥”);//主導(dǎo)航欄目
    0 1 2

    然后在如下的位置添加“論壇”和“文獻”欄目及連接地址。

    var subLayer0=new Array("論壇","文獻"); //導(dǎo)航欄目一下的次級欄目
    var subLayerHttp0=new Array("#","#");’’;//主導(dǎo)航欄目一下的次級欄目連接地址
    var subLayer1=new Array("論壇","文獻");//導(dǎo)航欄目二的次級欄目
    var subLayerHttp1=new Array("#","#");//主導(dǎo)航欄目二的次級欄目連接地址
    var subLayer2=new Array("論壇","文獻");//導(dǎo)航欄目三的次級欄目
    var subLayerHttp2=new Array("#","#");//主導(dǎo)航欄目三的次級欄目連接地址

    注意:藍色部分是需要新添加的部分。紅色部分是要修改的部分。要和上面的編號一一對應(yīng)。 (5)、其他細節(jié)調(diào)整請參考代碼詳解部分。

    4、附注及擴充。

    代碼中主要使用的函數(shù)及方法詳解。
    Document.write(“tmp”)在頁面中寫入tmp.
    var subLayerHttp1=new Array();定義一個新的數(shù)組subLayerHttp1.
    For(I=0;I
    var temp=(H=值1?值2:值3)當H的值等于值1的時候temp等于值2。反之temp的值等于值3。

    增強功能。
    //--------------- 系統(tǒng)參數(shù)*請勿調(diào)整 ------------//
    var layerMax=mainLayer.length+10;
    var layerName=”index”

    可以設(shè)置layerName=其他字段以生成新的下拉菜單。使頁面內(nèi)共存兩個下拉菜單。

    如有任何問題請聯(lián)系我。Jiangyf@paic.com.cn

    全文完。

    posted on 2007-07-03 12:29 chenguo 閱讀(270) 評論(0)  編輯  收藏 所屬分類: AJAX Dev

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導(dǎo)航

    統(tǒng)計

    留言簿

    隨筆分類(1)

    文章分類(52)

    好友 小山的博客

    最新隨筆

    最新評論

    主站蜘蛛池模板: 久久不见久久见中文字幕免费| 中文字幕免费在线看线人动作大片| 99热精品在线免费观看| 亚洲色WWW成人永久网址| eeuss影院免费92242部| 免费看男女下面日出水视频| 国产AV无码专区亚洲AV麻豆丫| 日本高清免费不卡视频| 亚洲人成网站999久久久综合| 免费av欧美国产在钱| 亚洲综合一区无码精品| 日本人护士免费xxxx视频| 国产亚洲精品AAAA片APP| 亚洲av高清在线观看一区二区 | 亚洲精品第一国产综合境外资源 | 成人免费视频69| 亚洲国产精品张柏芝在线观看| 免费下载成人电影| 亚洲欧洲无卡二区视頻| 国产精品四虎在线观看免费 | 亚洲伦理一区二区| 亚洲成年人免费网站| 77777亚洲午夜久久多喷| 成人免费视频一区二区三区| 久久精品国产亚洲av天美18 | 337p日本欧洲亚洲大胆人人 | 免费在线观看视频a| 中文字幕乱理片免费完整的| 亚洲AV无一区二区三区久久| 国产大片免费网站不卡美女 | 毛片A级毛片免费播放| 亚洲av无码成人影院一区| 亚洲区日韩区无码区| 99精品一区二区免费视频| 亚洲精品福利你懂| 亚洲欧洲精品成人久久奇米网| 久操免费在线观看| 亚洲色大成网站www永久网站| 亚洲真人日本在线| 国产妇乱子伦视频免费| 一级午夜免费视频|