我正在尝试将javascript移到页脚,但是在移动jQuery时,它会打断幻灯片。
我使用以下方法在页脚中加载jQuery:
wp_deregister_script( \'jquery\' );
wp_register_script( \'jquery\', includes_url( \'/js/jquery/jquery.js\' ), false, NULL, true );
wp_enqueue_script( \'jquery\' );
然后,我尝试在jQuery之后使用以下内容加载此内容:
function myscript() {
?>
<script type="text/javascript">
(function($){
$(window).load(function(){
/* full width slider */
$(\'#slider\').iosSlider({
snapToChildren: true,
desktopClickDrag: true,
snapFrictionCoefficient: 0.8,
autoSlideTransTimer: 500,
infiniteSlider:true,
autoSlide: true,
autoSlideTimer: 5000,
navPrevSelector: $(\'.next_<?php echo $sliderrandomid; ?>\'),
navNextSelector: $(\'.prev_<?php echo $sliderrandomid; ?>\'),
onSliderLoaded: startSlider,
onSlideChange: slideChange,
onSliderResize: slideResize,
});
function slideChange(args) { }
function slideResize(args) { }
function startSlider(args){ }
})
})(jQuery);
</script>
<?php
}
add_action( \'wp_footer\', \'myscript\' );
我尝试添加:
if( wp_script_is( \'jquery\', \'done\' ) ) { //Script }
但不幸的是,内联脚本无法加载。
有人能给我一些提示吗?我已经完成了一半,只需要在jQuery之后加载内联脚本就可以了。
提前感谢!
SO网友:Deepak jha
您正试图在jQuery之后通过调用add_action( \'wp_footer\', \'myscript\' );
之后wp_enqueue_script( \'jquery\' );
但这不会加载myscript
之后jQuery
. 这不是怎么回事wp_footer
和wp_enqueue_script
作品
wp_footer
有第三个名为“priority”的参数。
add_action( \'wp_footer\', \'your_function\', 100 ); //100 is priority here. larger the priority later that script will be executed.
排队的脚本在优先级为20时使用
wp_footer
.
如果您不提供任何第三优先级,则默认情况下脚本将以优先级10排队(这意味着您的脚本将包含在jQuery之前,因为您没有提供任何优先级)。
因此,您需要在优先级20之后调用函数。例如:
add_action( \'wp_footer\', \'myscript\',50 );
尝试使用上述修改添加脚本,它应该可以工作。