要實(shí)現(xiàn)此類菜單,首先您需要的是CSS文件,例如links_style.css,以定義鏈接的樣式。接下來是JavaScript文件NAV.J。在文件nav.js中,首先我們聲明了三個(gè)數(shù)組。一個(gè)稱為“鏈接”的數(shù)組包括鏈接的名稱。另一個(gè)數(shù)組稱為“ links_text”,由鏈接的文本組成(例如鏈接1)。前者將用于與此文件進(jìn)行比較。使用鏈接文件中的標(biāo)題在鏈接數(shù)組中的各個(gè)元素命名,不包括擴(kuò)展名(即,如果第一個(gè)鏈接將您帶到index.htm,則將其命名為索引)。第三個(gè)數(shù)組稱為“ links_url”,包括鏈接將帶動(dòng)用戶的URL?,F(xiàn)在,我們想要的是在沒有擴(kuò)展名的情況下比較到當(dāng)前頁面的文件名中的每個(gè)元素。然后,我們將相應(yīng)地分配鏈接樣式,以及您決定添加到鏈接文本中以突出顯示活動(dòng)頁面的任何額外文本或圖像。讓LOC為比較字符串。 LOC可以找到:var loc = string(this.location); loc = loc.split(“/”); loc = loc [loc.length-1] .split(“?!保? loc = loc [loc.length-2];因此,如果當(dāng)前頁面為https://www.sitepoint.com/index.htm,則LOC將為索引?,F(xiàn)在,我們將其與數(shù)組鏈接中的每個(gè)元素進(jìn)行比較。該數(shù)組和LOC的第一個(gè)元素相等,因此我們以以下方式編寫此鏈接。 document.write('
');這就是您的動(dòng)態(tài)菜單!您必須在所有頁面中放置的代碼為:將此代碼放置在需要出現(xiàn)在頁面上的何處。您需要的另一個(gè)代碼是,必須放置在HTML頁面的部分中。因此,列表1 nav.js是: / *鏈接詳細(xì)信息 * / 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]; / *菜單生成函數(shù) */函數(shù)dyn_menu_gen(){for(var i = 0; i 'links_text [i]' '); } document.write('
var jsondata ='[{“ text”:“ home”},{“ text”:“ of” about“},{“ text”:“ contact”}]'; var menuitems = json.parse(jsondata); var Menu = document.getElementById('菜單');
for(var i = 0; i var menuitem = document.createelement('li'); menuitem.innerhtml = menuitems [i] .text; 菜單。AppendChild(menuitem); } 在此示例中,“ jsondata”是菜單項(xiàng)對(duì)象的json字符串,“菜單”是要添加菜單項(xiàng)的菜單的ID。
fetch('https://example.com/menuitems') 。 。然后(data => { var Menu = document.getElementById('菜單');
for(var i = 0; i var menuitem = document.createelement('li'); menuitem.innerhtml = data [i] .text; 菜單。AppendChild(menuitem); } }); 在此示例中,'https://example.com/menuitems'是返回菜單項(xiàng)數(shù)據(jù)的服務(wù)器端點(diǎn)的URL。
JavascriptconcommentsenceenceEncorenceEnterential gransimenting,reading and guidingCodeeXecution.1)單inecommentsareusedforquickexplanations.2)多l(xiāng)inecommentsexplaincomplexlogicorprovideDocumentation.3)