簡體   English   中英

活動鏈接不顯示刷新頁面時添加的類名稱,也不顯示從其他頁面單擊相同鏈接時添加的類名稱

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM