Применение кода только для индексации

У меня есть следующий код, который добавляет / удаляет "белый" или "черный" класс в мой # anim-nav

Я хочу, чтобы этот код работал только на моей странице индекса (я хочу, чтобы .black применялся все время на других страницах). Этот код находится на отдельной странице .js, вводимой через заголовок (то есть на всех страницах)

$(window).on('scroll', function () {
 if ($(window).scrollTop() > 75) {
  $('#anim-nav').addClass('bg-fill').removeClass('white').addClass('black');
  } else {
  $('#anim-nav').removeClass('bg-fill').removeClass('black').addClass('white');
 }
});

Итак, чтобы было ясно, вы хотите добавить / удалить jquery .black для всех страниц, но не хотите добавлять / удалять jquery .white, кроме страницы индекса.

Himanshu Upadhyay 02.05.2018 06:46

Вроде как бы наоборот. Я просто хочу, чтобы "белый" запрос работал на главной странице

user3550879 02.05.2018 06:49
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
0
2
66
4

Ответы 4

Простое использование чего-то вроде этого ..........

    if ( is_front_page() && is_home() ) {
    // Default homepage
      $(window).on('scroll', function () {
      if ($(window).scrollTop() > 75) {
      $('#anim-nav').addClass('bg-
      fill').removeClass('white').addClass('black');
      } else {
      $('#anim-nav').removeClass('bg-
      fill').removeClass('black').addClass('white');
     }
    });

    } 

В нем всего два типа страниц. Домашняя страница и страницы single.php

user3550879 02.05.2018 06:52

Да, потому что это над изображением на странице индекса, а не на других

user3550879 03.05.2018 07:40

Прежде всего, поместите тип ввода hidden на страницу индекса (не в заголовке, а на отдельной странице индекса)

<input type = "hidden" name = "is_index" value = "1" id = "is_index">

затем получите его значение в jquery и используйте его в условии:

var is_index = '';
$(window).on('scroll', function () {
 is_index = $('#is_index').val();
 if ($(window).scrollTop() > 75 && is_index == 1) {
  $('#anim-nav').addClass('bg-fill').removeClass('white').addClass('black');
  } else {
  $('#anim-nav').removeClass('bg-fill').removeClass('black').addClass('white');
 }
});

ТАК, это будет работать, так как цель находится в заголовке (моя панель навигации)

user3550879 02.05.2018 06:51

На внутренних страницах вроде не меняется

user3550879 05.05.2018 21:22

Вы должны поместить код jquery в общий файл, который включен на все страницы (что-то вроде файла заголовка), а скрытый тип ввода должен быть помещен только в код домашней страницы.

Himanshu Upadhyay 07.05.2018 11:26

Так что просто скрипт в заголовке должен работать, тогда

user3550879 14.05.2018 00:27

Вы можете подтвердить через href

Сначала вы получите местоположение

window.location.href

Это вернет строку, которую вы можете проверить, включает ли она index, используя функцию includes().

$(window).on('scroll', function () {
 if ($(window).scrollTop() > 75  && !window.location.href.includes('index')) {
  $('#anim-nav').addClass('bg-fill').removeClass('white').addClass('black');
  } else {
  $('#anim-nav').removeClass('bg-fill').removeClass('black').addClass('white');
 }
});
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Нельзя быть уверенным, что в URL будет index.

Himanshu Upadhyay 02.05.2018 06:51

Добавьте элемент ввода или добавьте класс css к любому элементу страницы индекса или проверьте, существует ли какой-либо уникальный класс на странице индекса, тогда в коде js вы можете проверить, что, если он существует, будет выполняться только код

Например, мы добавляем класс homeClass в элемент html страницы индекса, а затем в js вы можете проверить, как показано ниже.

ПРИМЕР КОДА JS

if ($(".homeClass").length) {
$(window).on('scroll', function () {
 if ($(window).scrollTop() > 75) {
  $('#anim-nav').addClass('bg-fill').removeClass('white').addClass('black');
  } else {
  $('#anim-nav').removeClass('bg-fill').removeClass('black').addClass('white');
 }
}
});

Другие вопросы по теме