#jquery #wordpress
#jquery #wordpress
Вопрос:
Я пытаюсь добавить некоторые функции на сайт, который я изначально не создавал.
Я правильно ставлю jQuery в очередь, я считаю:
function theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
wp_register_script( 'main-js', get_stylesheet_directory_uri(). '/includes/main.js', array('jquery'));
wp_enqueue_script( 'main-js' );
}
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
Мой main.js файл довольно прост:
jQuery(window).scroll(function(){
var header = jQuery('.site-header');
var header_height = header.outerHeight;
var scrolltop = jQuery(document).scrollTop();
if (scrolltop >= header_height) {
var header = jQuery('.site-header');
header.addClass('not-fixed');
}
console.log(header_height ',' scrolltop);
})
Однако, когда я проверяю консоль при прокрутке, она выдает:
[cycle2] --c2 init--
main.js?ver=4.6.1:13 function (d,e){var f=arguments.lengthamp;amp;(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client" a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll" a],e["scroll" a],b.body["offset" a],e["offset" a],e["client" a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)},4
main.js?ver=4.6.1:13 function (d,e){var f=arguments.lengthamp;amp;(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client" a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll" a],e["scroll" a],b.body["offset" a],e["offset" a],e["client" a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)},32
main.js?ver=4.6.1:13 function (d,e){var f=arguments.lengthamp;amp;(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client" a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll" a],e["scroll" a],b.body["offset" a],e["offset" a],e["client" a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)},88
main.js?ver=4.6.1:13 function (d,e){var f=arguments.lengthamp;amp;(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client" a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll" a],e["scroll" a],b.body["offset" a],e["offset" a],e["client" a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)},152
main.js?ver=4.6.1:13 function (d,e){var f=arguments.lengthamp;amp;(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client" a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll" a],e["scroll" a],b.body["offset" a],e["offset" a],e["client" a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)},148
main.js?ver=4.6.1:13 function (d,e){var f=arguments.lengthamp;amp;(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client" a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll" a],e["scroll" a],b.body["offset" a],e["offset" a],e["client" a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)},112
И мой скрипт не работает. Похоже, что в моем скрипте доминирует библиотека, отличная от какого-либо плагина. Есть идеи, люди? Я думаю, я мог бы записать другую версию, но я действительно не хочу загружать миллион библиотек jQuery.
Спасибо, Мэтт
Комментарии:
1. тьфу, outerHeight — это не функция…
Ответ №1:
Вы не вызываете outerHeight()
функцию
Изменить
var header_height = header.outerHeight;
Для
var header_height = header.outerHeight();
То, что вы видите в консоли, — это объект функции…не то, что возвращает эта функция