首頁 > web前端 > js教程 > 在JavaScript文章中構建動態菜單

在JavaScript文章中構建動態菜單

Jennifer Aniston
發布: 2025-03-11 00:05:08
原創
120 人瀏覽過

在JavaScript文章中構建動態菜單

在這裡,我們不是在談論DHTML下拉/下拉菜單。在這裡,我們正在談論使用JavaScript的簡單導航菜單。它標識了活動頁面,因此顯示與其他鏈接不同的鏈接,從而使用戶易於導航。在這裡,我們將使用一個.js文件,該文件將用於導航菜單下的所有頁面。因此,您無需更新所有頁面:您只需更新一個JavaScript庫文件(.js文件)。例如,考慮以下3個導航鏈接:在JavaScript文章中構建動態菜單鏈接1處於活動狀態。 在JavaScript文章中構建動態菜單鏈接2處於活動狀態。 在JavaScript文章中構建動態菜單鏈接3處於活動狀態。如您所見,這些是導航菜單在不同頁面上如何顯示的鏡頭,具體取決於鏈接的活動。這些菜單由一個JavaScript文件生成。可以通過定義菜單的類(例如.links)並為.links:active分配不同的屬性,從而僅使用級聯樣式表(CSS)創建這樣的菜單。因此,您只需使用CSS文件創建菜單即可。儘管這是完美的,但是在這裡使用JavaScript有一個優勢。正如您在上面的鏡頭中看到的那樣,主動鏈接最終具有“»”字符。這僅是為活動鏈接創建的,因此它是動態創建的。使用JavaScript,您可以使用任何可以使鏈接看起來很活躍的角色或標誌性圖像。
實現
要實現此類菜單,首先您需要的是css文件,例如links_style.css,以定義鏈接的樣式。接下來是JavaScript文件NAV.J。在文件nav.js中,首先我們聲明了三個數組。一個稱為“鏈接”的數組包括鏈接的名稱。另一個數組稱為“ links_text”,由鏈接的文本組成(例如鍊接1)。前者將用於與此文件進行比較。使用鏈接文件中的標題在鏈接數組中的各個元素命名,不包括擴展名(即,如果第一個鏈接將您帶到index.htm,則將其命名為索引)。第三個數組稱為“ links_url”,包括鏈接將帶動用戶的URL。現在,我們想要的是在沒有擴展名的情況下比較到當前頁面的文件名中的每個元素。然後,我們將相應地分配鏈接樣式,以及您決定添加到鏈接文本中以突出顯示活動頁面的任何額外文本或圖像。讓LOC為比較字符串。 LOC可以找到:var loc = string(this.location); loc = loc.split(“/”); loc = loc [loc.length-1] .split(“。”); loc = loc [loc.length-2];因此,如果當前頁面為https://www.sitepoint.com/index.htm,則LOC將為索引。現在,我們將其與數組鏈接中的每個元素進行比較。該數組和LOC的第一個元素相等,因此我們以以下方式編寫此鏈接。 document.write('< table onmouseover =“ this.classname ='explorer_active';返回true” onmouseout =“ this.classname ='explorer_active';返回true onmousedown onmousedown =' x3c; td>< a href =“'links_url [i]'“>'links_text [i]由於鏈接陣列中的其他元素不等於LOC,因此它們將寫為:document.Write('< table onMouseOver =“ this.classname ='explorer_over';返回true” onmouseout =“ this.classname =' l [i]'''>< tr>< td>< a href =“'links_url [i]''>'linkss_text [i]這就是您的動態菜單!您必須在所有頁面中放置的代碼為:< script Lakenanage =“ javascript” src =“ nav.js”></script>將此代碼放置在需要出現在頁面上的導航菜單。您需要的另一個代碼是< link rel =“ stylesheet” href =“ links_style.css” />必須放置在您的html頁面的< head>部分中。因此,列表1 nav.js是: / *鏈接詳細信息 * / var links = new Array(“ link1”,“ link2”,“ link3”); var links_text = new Array(“鏈接1”,“鏈接2”,“鏈接3”); var links_url = new array(“ link1.htm”,“ link2.htm”,“ link3.htm”); / *解析位置 */ var loc = string(this.location); loc = loc.split(“/”); loc = loc [loc.length-1] .split(“。”); loc = loc [loc.length-2]; / *菜單生成函數 */函數dyn_menu_gen(){for(var i = 0; i< links.length; i){if(loc == links [i]){document.write('< table onmouseover =“ this.classname ='explorer_active_active'; =“ this.classname ='explorer_active';返回true” onclick =“ location.href =''links_url [i]'''>< tr>< td>< td>< a href = a></td></tr></table>'); } else {document.write('< table onMouseOver =“this。className='explorer_over'; return true” onmouseout =“ this.classname ='evervorer'; return true onmousedown onmousedown =“ onmousedown =” this.classname ='explorer_down'; 3c; td>< a href =“'links_url [i]''>'links_text [i]'</a></td></tr></tr></table>'/table>'); } document.write('< table cellspacing =“ 0” cellpadding =“ 0” bgcolor =“#ffffff”>< tr>< td></td></td>&# }} / *生成菜單 * / dyn_menu_gen();列表2,links_style.css是:.explorer {font-family:verdana,arial,helvetica;字體大小:8pt;字體重量:正常;文本介紹:無;顏色:#000000;背景:#B5D0FF;光標:手;寬度:150px;身高:30px;邊界:1個實心#a6c0ed} .explorer_over {font-family:verdana,arial,helvetica;字體大小:8pt;字體重量:正常;文本介紹:無;顏色:#000000;背景:#A7C0EB;光標:手;寬度:150px;身高:30px;邊境權利:1個實心#5C6980;邊界底:1個實心#5C6980;邊界左:1個實心#b8d3ff;邊界頂:1個實心#b8d3ff} .explorer_down {font-family:verdana,arial,helvetica;字體大小:8pt;字體重量:正常;文本介紹:無;顏色:#000000;背景:#A7C0EB;光標:手;寬度:150px;身高:30px;邊界左:1個實心#5C6980;邊界頂:1個實心#5C6980;邊境權利:1個實心#b8d3ff;邊界底:1個實心#b8d3ff} .explorer_active {font-family:verdana,arial,helvetica;字體大小:8pt;字體重量:正常;文本介紹:無;顏色:#000000;背景:#ffffff;光標:手;寬度:150px;身高:30px} .menu {font-fomily:verdana,arial,helvetica;字體大小:8pt;字體重量:正常;文本介紹:無;顏色:#000000}我希望此腳本簡化了您網頁的動態JavaScript導航的創建!

關於JavaScript中的動態菜單的常見問題

如何將子菜單添加到JavaScript中的動態菜單?

將子菜單添加到JavaScript中的動態菜單涉及創建新菜單中的動態菜單,然後將其應用於父母菜單項目。您可以使用附錄()方法來實現這一目標。這是一個簡單的示例:

var pardmenuitem = document.getElementById('parendMenuitem');
var submenuitem = document.createlement('li'');
submenuitem.innerhtml ='子菜單。 'sumpenuitem'是您要添加的新的子菜單項目。

如何從javascript中的動態菜單中刪除菜單項?

以從JavaScript中的Dynamic Menue中刪除菜單項,您可以使用removeChild()方法。此方法刪除了指定元素的指定子節點。這是一個示例:

var menuitem = document.getElementById('menuitem');
menuitem.parentnode.removechild(menuitem);
在本示例中,'menuitem'是菜單項的ID,您需要刪除可以使用InnerHTML屬性完成JavaScript中的動態菜單。這是一個示例:

var menuitem = document.getElementById('menuitem');
menuitem.innerhtml ='新菜單項文本';
在此示例中,'menuitem'是菜單的ID Cript?

可以使用AddeventListener()方法在JavaScript中的動態菜單中將事件偵聽器添加到菜單項中。此方法將事件處理程序附加到指定元素。 Here's an example:

var menuItem = document.getElementById('menuItem');
menuItem.addEventListener('click', function() {
alert('Menu item clicked!');
});
In this example, 'menuItem' is the ID of the menu item you want to add an event listener to.單擊菜單項時,事件偵聽器將顯示一個警報。

在JavaScript中的動態菜單中如何樣式?

在JavaScript中造型菜單項可以使用樣式屬性進行javascript中的菜單項。此屬性設置或返回元素的樣式屬性。這是一個示例:

var menuitem = document.getElementById('menuitem');
menuitem.style.color.color ='red';
menuitem.fontsize.fontsize ='20px';
在此示例中,'Menuitem'Menuitem'是菜單上的菜單項目。樣式屬性用於更改菜單項的顏色和字體大小。

如何使用數組中的JavaScript中創建動態菜單?

在JavaScript中創建一個動態菜單,使用陣列涉及在數組上迭代並為陣列中的每個元素創建一個新菜單項。這是一個示例:

var menuitems = ['home','over','''];
var菜單= document.getElementById('菜單');

for(var i = 0; i = 0; i< i< menuitems.length; i){
BR>菜單。AppendChild(menuitem);
}
在此示例中,'menuitems'是菜單項的數組,“菜單”是要將菜單項添加到的菜單的ID。

對於解析數據中的每個對象。這是一個示例:

var jsondata ='[{“ text”:“ home”},{“ text”:“ of” about“},{“ text”:“ contact”}]';
var menuitems = json.parse(jsondata) Ength;我可以使用來自服務器的數據在JavaScript中創建動態菜單嗎?

使用服務器中的數據在JavaScript中創建動態菜單涉及向服務器提出Ajax請求以獲取數據,然後為服務器返回的每一塊數據創建一個新的菜單項。這是一個使用fetch api的示例:

fetch('https://example.com/menuitems')
document.createelement('li');
menuitem.innerhtml = data [i] .text;
菜單Ascript?

在JavaScript中創建動態下拉菜單涉及創建一個新的選擇元素,並為每個菜單項目添加選項元素。這是一個示例:

var menuitems = ['home','oi','''];
var dropdownmenu = document.createelment('select'');



for(var i = 0; i = 0; i< menuitems.length; menuitems.length; i) text = menuitems [i];
dropdownmenu.appendchild(option);
}



document.body.appendchild(dropdownMenu);
在本示例中,'menuitems'是菜單項'的數組。新的菜單元素並將菜單項添加到其中,然後在單擊右鍵鼠標按鈕時在鼠標位置顯示菜單。這是一個示例:

var menuitems = ['cut','copy','paste'];
var contextMenu = document.createelment('ul');
contextmenu.style.display.display ='none''; {
var menuitem = document.createlement('li');
menuitem.innerhtml = menuitems [i];
contextmenu.appendchild(menuitem);
}
}




entdefault();
contextMenu.style.left = e.pagex'px';
contextMenu.style.top = e.pagey'px';
contextmenu.style.display ='block'block'; block';
};


document..addeventlistlistlistlisemenemenemenemenemenemeN.and. ay ='none';
});
在此示例中,'menuitems'是上下文菜單項文本的數組。

以上是在JavaScript文章中構建動態菜單的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板