我使用jQuery .load()在多個頁面上加載了「navigation.html」(靜態編碼導航)文件。現在我需要爲每個頁面用戶點擊動態設置活動<li>
。出於具體原因,我無法使用body id。 任何其他方式來做到這一點?在靜態導航上動態設置活動鏈接
回答
相匹配。如果你可以通過類或ID來識別您當前的頁面當然這隻會工作(例如:身體> DIV#觸點)爲contacts.html和這個類/ id爲獨特的,那麼你必須與你的導航相匹配,其他方式是匹配window.location.href
值(如果你想分析)與你的導航。文件,其中包括你的每一頁
function changeActiveLink() {
var currentLocation = window.location.href;
currentLocation = currentLocation.replace('//', '/').split('/');
var page = currentLocation[currentLocation.length - 1];
if (page == "") { page = 'index.html'; }
$('#leftNav1 a[href*="'+ page +'"]').addClass('active');
}
當包括「init.js」這條線是從每個文件名爲:
changeActiveLink
在JS(init.js EX)定義。
$('#leftNav1').load('navigation.html', changeActiveLink);
你可以設置一些jquery腳本來獲取url,然後找到與之匹配的li的href。這將允許您將addClass()添加到活動的li。
如果您的href網址
或者您可以使用任何HTML甚至HTML5標籤來指定li項目。
<li class="some">
或
或
<li attr-specify="some-specific-in-url">
和jQuery與window.location的對象 $( '的Li [標題=「' + window.location.path +'」] 「).addClass( 「活性」);
好吧似乎合法,但他將如何獲得當前頁? '[一些]'必須是他所擁有的每個頁面的動態值。 – h4cky 2012-04-02 19:17:58
好的,但問題是**靜態頁面導航**。所以你可以使用javascript window.location來獲得真正的href – autumncollection 2012-04-02 21:11:19
- 1. 動態導航設置活動狀態
- 2. 添加活動狀態到用戶滾動的鏈接導航
- 3. 動態設置超鏈接控件的導航屬性內聯
- 4. 動態的SharePoint導航鏈接
- 5. 什麼是靜態庫,靜態鏈接動態庫和動態鏈接動態庫的.lib文件?
- 6. 從動態導航鏈接在新窗口中打開鏈接
- 7. 動態設置ActionBar下拉導航
- 8. 動態變化設置的活動pirobox鏈接
- 9. 靜態鏈接到動態庫。 glibc
- 10. 鏈接動態和靜態庫RCPP
- 11. 靜態/動態運行時鏈接
- 12. 靜態和動態庫鏈接
- 13. 什麼是靜態和動態鏈接
- 14. Angular的深層鏈接 - 動態鏈接vs靜態鏈接
- 15. 動態導航
- 16. Bootstrap靜態導航欄滾動
- 17. 移動導航不是靜態的
- 18. 鏈接到動態活動類?
- 19. 導航列表中的活動鏈接
- 20. 導航加入jQuery的活動鏈接
- 21. Bootstrap導航標籤和活動鏈接
- 22. 如何設置動態鏈接的branch.io
- 23. 帶有活動導航的動態CSS箭頭位置
- 24. 發生散導航活動狀態
- 25. HTML導航欄問題(活動狀態)
- 26. cmake如何部分靜態鏈接,部分動態鏈接?
- 27. Android中模塊的靜態鏈接和動態鏈接
- 28. 靜態鏈接和動態鏈接之間的區別
- 29. Codeigniter動態導航
- 30. 動態導航條
有沒有可能得到您的想法的例子? – marb 2012-04-02 19:25:57
後更新:) – h4cky 2012-04-02 19:34:07
不適合我,可能是因爲我的navigation.html是一個單獨的頁面,並正在動態加載... – marb 2012-04-02 20:16:28