我似乎在我的本地计算机上更多地使用了与分段相关的内容。它没有认识到引用某些库/模块的几个函数,所以我的猜测是它在所述库/模块之前加载我的自定义初始化脚本。
但据我所知,我的脚本已经正确指定了依赖性,因此我不确定如何纠正这一点。
function scripts() {
wp_enqueue_style( 'style-name', get_stylesheet_uri() );
wp_enqueue_script('jquery-init', get_template_directory_uri().'/js/jquery-1.11.1.min.js',array(),'',true);
wp_enqueue_script('velocity-init', get_template_directory_uri().'/js/jquery.velocity.min.js', array('jquery-init'),'',true);
wp_enqueue_script('colorbox-init', get_template_directory_uri().'/js/jquery.colorbox-min.js',array('jquery-init'),'',true);
wp_enqueue_script('isotope-init', get_template_directory_uri().'/js/isotope.pkgd.min.js',array('jquery-init'),'',true);
wp_enqueue_script('slick-init', get_template_directory_uri().'/js/slick.min.js',array('jquery-init'),'',true);
wp_enqueue_script('fitvids-init', get_template_directory_uri().'/js/fitvids.js',array('jquery-init'),'',true);
wp_enqueue_script('scrolltop-init', get_template_directory_uri().'/js/jquery.scrollTop.js',array('jquery-init'),'',true);
wp_enqueue_script('scripts-init', get_template_directory_uri().'/js/scripts.js',array( 'scrolltop-init','isotope-init', 'fitvids-init', 'slick-init', 'colorbox-init', 'velocity-init'),'',true);
}
add_action( 'wp_enqueue_scripts', 'scripts' );
最后一个文件长333行,并将所有代码加载到如下函数中:
(function ($) { } )(jQuery);
我的javascript script.js文件中有没有正确显示的内容?所有代码运行良好,是一系列的intilaisations,条件,html附加,动画菜单,样式等,没有功能。
答案 0 :(得分:0)
jQuery noConflict Wrappers
WordPress附带的jQuery库设置为noConflict()模式(请参阅wp-includes / js / jquery / jquery.js)。这是为了防止WordPress可以链接的其他JavaScript库的兼容性问题。
在noConflict()模式下,jQuery的全局$快捷方式不可用,因此您仍然可以使用:
jQuery(document).ready(function(){
jQuery(#somefunction) ...
});
但是以下内容会抛出错误,或使用其他库指定的$快捷方式。
$(document).ready(function(){
$(#somefunction) ...
});
但是,如果您真的喜欢简短的$而不是jQuery,那么您可以在代码中使用以下包装器:
jQuery(document).ready(function($) {
// Inside of this function, $() will work as an alias for jQuery()
// and other libraries also using $ will not be accessible under this shortcut
});
该包装将导致在完全构造DOM时执行代码。如果由于某种原因,您希望代码立即执行而不是等待DOM ready事件,那么您可以使用此包装方法:
(function($) {
// Inside of this function, $() will work as an alias for jQuery()
// and other libraries also using $ will not be accessible under this shortcut
})(jQuery);
或者,您可以随时将jQuery重新分配给您选择的另一个快捷方式,并将$ shorcut保留给其他库:
var $j = jQuery;