[英]Active links don't show the class name added when the page is refreshed or when the same link is clicked from another page
腳本:
$(".classname li a").each(function() {
var hreflink = $(this).attr("href");
if (hreflink == location.href) {
$(this).addClass("active");
} else {
$(this).removeClass("active");
}
});
CSS:
.classname li a.active{color:#ef9223;}
每當我進行頁面刷新時,如果相同的鏈接在不同的頁面上,則活動類不再應用於該鏈接。
實際的例子我有以下導航鏈接ABCDEFGH .... Z.相同的導航是在主頁面(標題部分)..所以當我點擊任何一個鏈接..當我到達時它需要激活任何一個ABCD E..or Z頁面。 即使在頁面刷新時,它也需要保留活動鏈接。 希望解釋......並幫助:)
任何幫助,輸入,解決方案將非常感激。
使用JavaScript添加的類或任何內容在頁面刷新時不會保留。 這就是它的工作原理。
JavaScript只修改本地加載的HTML元素和結構。 刷新頁面或轉到另一個頁面后,所有狀態都會被傳入的頁面加載清除。 服務器不知道您在該頁面上執行的任何操作。 它將發送一個具有默認狀態的新頁面,然后將運行任何JavaScript。 此腳本也不知道任何先前的頁面加載或腳本執行。
如果你希望狀態在頁面加載中持久化,你需要在服務器端執行它,這需要對服務器進行AJAX調用,讓它知道你想要“活動”的鏈接,然后服務器將負責在后續頁面加載時添加該類。
在每個循環內部, 這實際上是錨標記而不是具有類'classname'的標記。 你的CSS應該是:
.active {color:#ef9223;}
此外,如果在頁面加載時運行此代碼,則不需要remove類。
查看這個jsFiddle的例子 - http://jsfiddle.net/XWLWL/7/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.