在页脚中的jQuery之后添加内联样式有问题!

时间:2016-04-13 作者:WPDEVE

我正在尝试将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之后加载内联脚本就可以了。

提前感谢!

2 个回复
SO网友:Deepak jha

您正试图在jQuery之后通过调用add_action( \'wp_footer\', \'myscript\' ); 之后wp_enqueue_script( \'jquery\' );

但这不会加载myscript 之后jQuery. 这不是怎么回事wp_footerwp_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 );

尝试使用上述修改添加脚本,它应该可以工作。

SO网友:Caspar

看来你最好把剧本保存在.js 文件,然后使用wp_enqueue_script() 而不是wp_footer. 这样,就可以将jquery指定为脚本的依赖项。

wp_enqueue_script( \'myscript\', \'path/to/myscript.js\', array( \'jquery\' ), false, true );
这也将您的js从php中分离出来,成为一个可以单独跟踪和更新的适当资产,这是一个很好的实践。

相关推荐

JQuery php请求返回一个奇怪的结果

我有一个奇怪的小故障发生在我身上,我不知道我是如何产生它的,或者它是否是正常的。我正在开发自己的插件,当一个足球队/足球队被输入到一个框中时,它会检查它是否已经在数据库中。以下是我的代码行add_action( \'admin_footer\', \'fws_teamcheck_javascript\' ); function fws_teamcheck_javascript() { ?> <script type="text/javascript">