【发布时间】:2017-01-01 17:15:34
【问题描述】:
我完全被这个问题所困扰,有人知道问题可能是什么吗?
我想在我的自定义 js 文件(在 Wordpress 中)中添加的代码是:
var navWrap = jQuery('#sidebarnavWrap'),
nav = jQuery('#sidebarnav'),
startPosition = navWrap.offset().top,
stopPosition = jQuery('#footer-three').offset().top - nav.outerHeight();
jQuery(document).scroll(function () {
//stick nav to top of page
var y = jQuery(this).scrollTop()
if (y > startPosition) {
nav.addClass('sticky');
if (y > stopPosition) {
nav.css('top', stopPosition - y);
} else {
nav.css('top', 0);
}
} else {
nav.removeClass('sticky');
}
});
此代码在 jsfiddle 中完美运行。然而,当在我的 WordPress 网站上使用时,控制台会提到“TypeError: navWrap.offset(...) is undefined”
http://jsfiddle.net/ykto7uu9/42/
你们中的任何人都知道可能导致这种情况的原因吗? 非常感谢。
额外信息:我的自定义 js 文件已经包含一个非常简单的工作 jQuery 代码来显示/隐藏文本(没有冲突),我在 functions.php 中使用:
function my_javascripts() {
wp_enqueue_script( 'js.custom', '/wp-content/themes/mytheme-child/js/js.custom.js', array() );
}
add_action( 'wp_enqueue_scripts', 'my_javascripts', 1000 );
【问题讨论】:
-
我只能猜测该元素可能还不存在,您可以尝试将所有内容放入 $(function() {});
-
感谢您的宝贵时间和@carloliwanag 的建议,但这没有用。 (也已经尝试过):) Nathan 的回答在下面修复了它。祝你有美好的一天!
标签: javascript jquery wordpress undefined