我在静态HTML页面上有以下jQuery脚本,它运行得很好。然而,当我把它放入WordPress中时,它就不起作用了。
这是JS文件。
$(window).scroll(function()
if ($(".navbar").offset().top > 50) {
$(".navbar-fixed-top").addClass("top-nav-collapse");
} else {
$(".navbar-fixed-top").removeClass("top-nav-collapse");
}
)};
下面是函数。php
function hat_rack_media_scripts() {
//THEME CUSTOM STYLES AND SCRIPTS
wp_enqueue_style( \'hat-rack-media-style\', get_stylesheet_uri() );
wp_register_script( \'theme-script\', get_template_directory_uri() . \'/js/script.js\', array(\'jquery\'), \'1\', true );
if ( is_singular() && comments_open() && get_option( \'thread_comments\' ) ) {
wp_enqueue_script( \'comment-reply\' );
}
}
add_action( \'wp_enqueue_scripts\', \'hat_rack_media_scripts\' );
我觉得我正确地包含了文件,它被映射到了正确的位置,并且在静态html页面中工作得很好。
谢谢
SO网友:Welcher
@米洛可能有道理。WordPress以无冲突模式加载jQuery。
因此:
$(document).ready(function(){
alert(\'ready\');
});
变成这样:
jQuery(document).ready(function(){
alert(\'ready\');
});
如果要使用$而不必重构代码,只需将其传递给函数即可:
jQuery(document).ready(function($){
$(\'.selector\').html(\'this will now work\');
});