将jQuery脚本放在Wordpress的队列末尾

时间:2015-02-28 13:04:08

标签: jquery css wordpress woocommerce flexslider

当我意识到Woocommerce的Flexslider编辑其中一个DIV标签并且宽度为1600%时,问题就出现了。我不想要这个属性。这就是为什么我准备了一个代码来修复它以及其他一些属性:

    jQuery(document).ready(function($){         
        $( '.slides' ).css("width", "");
        $( '.slides' ).css("margin-left", "");
        $( '.slides' ).css("margin-right", "126px");        
    });

我将此代码保存在主题js目录中名为final.js的文件中。但是我无法让它发挥作用! 我读了一篇关于入口(如果有这样的动词)脚本here的文章。我试过,看起来,脚本将被包含在其他脚本中的标题内。但无论它是在其他的顶部还是底部,它都行不通!

我尝试将其放在页面底部而不使用enqueue方法。 我可以从我的努力中获得的所有内容就是将margin-right添加到课程slides中。这还不够。哪个代码正在改变这个类,是在我的自定义脚本之后触发,并且不会让它发生。

你有什么建议让这个东西有效吗? 如果你想看一下,那就是link to site(应该寻找:<div id="carousel" class="flexslider"><ul class="slides">)。

谢谢!

2 个答案:

答案 0 :(得分:1)

看起来您的滑块在您的脚本之后加载,根据Flexslider文档,您应该尝试在滑块加载时将代码放在回调上:

$(window).load(function() {
    $('.flexslider').flexslider({
        start : function() {
            $( '.slides' ).css("width", "");
            $( '.slides' ).css("margin-left", "");
            $( '.slides' ).css("margin-right", "126px");   
        }
    });
}); 

答案 1 :(得分:1)

这与WooCommerce没有任何关系。 Flexlider正在以您的主题添加:Avada。

如果使flexslider脚本成为final.js脚本的依赖项,则在flexslider之后将加载final.js。和/或如果你在以后的钩子上运行wp_enqueue_scripts函数,那么你也可能会在flexslider之后加载final.js

我不知道&#34;处理&#34;适用于Avada中的flexslider,我也不确切知道自定义脚本的路径,但作为示例:

function so_28782012_enqueue_scripts(){
    wp_enqueue_script( 'final', get_template_directory_uri() . '/js/final.js', array('flexslider'), '1.0', true );
}
add_action( 'wp_enqueue_scripts', 'so_28782012_enqueue_scripts', 99 );