Я нашел jQuery scroll trick, который я хотел бы использовать в моей теме WordPress. Проблема в том, что функция, заданная .scroll()
, никогда не выполняется.jQuery snippet в пользовательской теме WordPress
Для целей отладки, я уменьшил сценарий к следующему:
(function() {
alert("foo");
$(window).scroll(function (evt) {
alert("bar");
});
})();
Я поместил JS в mytheme.js
и добавил следующее functions.php
:
function mytheme_enq_script() {
wp_enqueue_script('mytheme', get_template_directory_uri().'/mytheme.js',
array('jquery'), '0.1', true);
}
add_action('wp_enqueue_scripts', 'mytheme_enq_script');
РНР должен быть прав, потому что скрипт загружен и появляется предупреждение «foo», но предупреждение «bar» не работает. Что случилось с моим минимальным кодом jQuery?
Откройте инструменты разработчика, firebug или просто источник просмотра и посмотрите, связан ли этот файл js. – ahren
Js действительно связан: ' ' – Arild
На самом деле, я экспериментирую, добавив' alert ("foo"); 'непосредственно перед' $ (window) .scroll (... 'и' alert ("bar"); 'как первый оператор в обработчике прокрутки. Первое сообщение появляется, когда страница загружается, вторая никогда не появляется. – Arild