2016-11-15 2 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 на всех внутренних страницах (все страницы для домашней страницы, кроме) Я надеялся, что я мог бы изменить код вместо создания seperate 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 для главной страницы и о том, как она отличается от ваших других страниц.

Поскольку контент для главной страницы всегда уникален по сравнению с другими страницами, на этой странице почти всегда есть что-то уникальное. Или, если вы контролируете контент для домашней страницы отдельно от других страниц, вы можете просто добавить пустой div, чтобы служить в качестве контрольной точки для идентификации домашней страницы.


Вы также можете использовать путь страницы:

// 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

Ok, я понимаю. Я использую тот же код навигации на всех страницах. Та же функциональность и т. Д. Я использую тот же заголовок.php на всех моих страницах, поэтому внутренние страницы имеют один и тот же «контейнер» – user3550879

+0

@ user3550879 - ну а как насчет предложения пути, которое я добавил к моему ответу? Если вы хотите получить более конкретную помощь, вам нужно будет опубликовать ссылку на главную страницу, чтобы мы могли помочь вам идентифицировать что-то уникальное на домашней странице для проверки. Это, очевидно, не может быть идентичным контентом для других страниц. – jfriend00

+0

Справа. На данный момент я смотрю по-разному. Я думаю, что ваша идея на главной странице - это хороший подход, проблема просто заключается в том, чтобы понять, как «уникально» мои страницы – user3550879

Смежные вопросы