2016-11-15 76 views
0

我有一個基於窗口的位置下面的代碼針對我的導航(添加特定類。使用WordPress。僅針對主頁

JS

jQuery(document).ready(function($){ 
    $(window).scroll(function() { 
    var scroll = $(window).scrollTop(); 
    if (scroll >= 250) { 
    $("#s-nav").addClass('s-nav-w'); 
    $(".main-nav li a").addClass('text-w'); 
    } else{ 
    $("#s-nav").removeClass('s-nav-w'); 
    $(".main-nav li a").removeClass('text-w'); 
    } 
}); 
}); 

我想使用所有相同的導航我的網頁,但我想

$("#s-nav").addClass('s-nav-w'); 
$(".main-nav li a").addClass('text-w'); 

留在所有的內部網頁addded(除了主頁的所有頁面),我希望我可以修改代碼,而不是創建一個單獨的header.php。

回答

2

執行此操作的一種典型方法是檢測僅位於主頁上的一些對象,並使用if根據缺少僅存在於主頁上的某些內容來有條件地執行代碼。你不告訴我們您的實際HTML,所以我會說明這個概念:

認爲你有這個div,只有在你的主頁上顯示:

<div id="homepage">...</div> 

然後,你可以在你的jQuery的使用:

// execute some jQuery on all pages except the home page 
if (!$("#homepage").length) { 
    $("#s-nav").addClass('s-nav-w'); 
    $(".main-nav li a").addClass('text-w'); 
} 

當然,你也可以檢測到所有不是主頁的頁面並且反轉邏輯。要麼會工作得很好。

如果您需要關於如何完成主頁檢測的幫助,那麼我們必須瞭解關於您的HTML主頁的更多信息,以及它與其他頁面的不同之處。

由於與其他頁面相比,主頁的內容始終是唯一的,因此在該頁面中幾乎總是可以識別的唯一內容。或者,如果您將網頁的內容與其他網頁分開控制,則只需添加一個空格即可作爲識別主頁的標記。


您還可以使用頁面的路徑:

// execute some jQuery on all pages except the top level page 
// if your home page is some other path than "/", then substitute the appropriate path 
if (window.location.pathname !== "/") { 
    $("#s-nav").addClass('s-nav-w'); 
    $(".main-nav li a").addClass('text-w'); 
} 
+0

好吧,我明白了。我在所有頁面上使用相同的導航代碼。相同的功能等。我在我的所有頁面上使用相同的header.php,因此內部頁面具有相同的「容器」 – user3550879

+0

@ user3550879 - 那麼我在答案中添加的路徑建議如何?如果您想獲得更具體的幫助,您必須發佈一個鏈接到主頁,以便我們幫助您確定首頁中的獨特內容以進行測試。它顯然不能與其他網頁的內容相同。 – jfriend00

+0

右對。我正在尋找不同的方式。我認爲你的主頁的想法是一個好方法,問題是試圖找出如何「獨特」我的網頁 – user3550879