2016-05-17 4 views
0

Отказ от ответственности: Я являюсь новичком jQuery.Почему я не могу запустить jQuery на моем сайте Wordpress?

Что я пытался: В пределах темы Magnum WP есть несколько файлов js, находящихся в очереди. Я добавил код jQuery в custom.js, который определенно правильно связан с ядром (поскольку функции явно исчерпаны). Я также попытался добавить в голову теги <script> с кодом, вставленным прямо в конец (после вызова библиотеки jQuery). Тема использует jQuery, поэтому lib определенно связан. Я пробовал много разных фрагментов кода, и я не могу заставить их работать. Например. Я пытался весь день, чтобы получить это, чтобы запустить

jQuery(window).scroll(function() { 

    var position = $(this).scrollTop(); 

    jQuery('.section').each(function() { 
     var target = $(this).offset().top; 
     var id = $(this).attr('id'); 

     if (position >= target) { 
      jQuery('.menu-wrap > ul > li > a').removeClass('yes'); 
      jQuery('.menu-wrap > ul > li > a[href=#' + id + ']').addClass('yes'); 
     } 
    }); 
}); 

Я также пробовал с jQuery заменен $ (не уверен, что семантически правильно).

Я могу подтвердить, что связанные элементы html существуют. .yes ссылается на мою таблицу стилей с правилом background: red;, который я могу подтвердить.

У меня все идеи относительно того, почему этот код или любая другая функция jquery не загружаются.

В хром-пульте нет соответствующих ошибок.

+2

что-то в консоли? ошибки? или просто не работает? – xAqweRx

+0

Вы проверили консоль? Возможно, вы сможете намекнуть вам на решение .. –

+0

@xAqweRx Нет соответствующих ошибок: jquery-migrate.min.js? Ver = 1.4.0: 2 JQMIGRATE: установлен Migrate, версия 1.4.0 theme.min. js? ver = 1457655677: 3 carouFredSel: Элемент не найден для «.services-slider». util.js: 222 Предупреждение API Карт Google: NoApiKeys https://developers.google.com/maps/documentation/javascript/error-messages#no-api-keys – user1395909

ответ

0

На данный момент я могу сказать, что вы используете jQuery в режиме совместимости. Попробуйте этот код:

jQuery(window).scroll(function() { 

    var position = jQuery(this).scrollTop(); 

    jQuery('.section').each(function() { 
     var target = jQuery(this).offset().top; 
     var id = jQuery(this).attr('id'); 

     if (position >= target) { 
      jQuery('.menu-wrap > ul > li > a').removeClass('yes'); 
      jQuery('.menu-wrap > ul > li > a[href*="#' + id + '"]').addClass('yes'); 
     } 
    }); 
}); 

или это один

jQuery(function($){ 
    $(window).scroll(function() { 

    var position = $(this).scrollTop(); 

    $('.section').each(function() { 
     var target = $(this).offset().top; 
     var id = $(this).attr('id'); 

     if (position >= target) { 
      $('.menu-wrap > ul > li > a').removeClass('yes'); 
      $('.menu-wrap > ul > li > a[href*="#' + id + '"]').addClass('yes'); 
     } 
    }); 
    }); 

}) 

И чем больше вы используете CSS селекторы так a[href=#id] неверен. Вы должны передать строку в значение, и ваши ссылки не полностью соответствуют id в селекторе, но только частично. Поэтому я изменил его на a[href*="#id"]

+0

Спасибо за попытку - я пробовал это без везения. – user1395909

+0

У вас есть код на производстве? – xAqweRx

+0

http://hotglue.com.au/x_2013/ – user1395909