繁体   English   中英

修复Wordpress中的JavaScript冲突,帮助使用wp_enqueue_script

[英]Fixing a JavaScript conflict in Wordpress, help using wp_enqueue_script

我认为(不是100%肯定)我正在遭受javascript冲突。 我正在使用插件在我的WordPress页面上生成一个倒计时时钟,我正在使用一些简单的自定义javascript和jQuery来使div在页面滚动时出现并消失。

为了使出现/消失的div正常工作,我在我的标题中添加了两个javascript调用:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/test1.js"></script> 

第一个是jquery库,第二个是我的自定义脚本。 将这些代码行添加到标题后,倒计时时钟停止在我的网站上运行。 通过一些调试,我意识到谷歌托管的脚本导致时钟不能正常工作。

当我在我的标题中有Google托管的jquery库的代码时,我收到以下错误: Error = Object [object Object]没有方法'jCountdown'

我相信解决方法是使用functions.php文件中的wp_enqueue_script和wp_register_script来添加我需要的两个.js文件,并从标头中删除代码。 但是,我不熟悉这些代码如何工作,似乎无法弄明白。 下面是我认为需要在functions.php文件中使用的代码,但我没有成功使其工作。

function notSureWhatGoesHere() {
        wp_register_script(notSureWhatGoesHere);
        wp_enqueue_script(notSureWhatGoesHere);
        }

        add_action(notSureWhatGoesHere);

这是我的测试网页的链接: http//jltest.biz/test-1

非常感谢你的帮助和时间。

你有一个Error = Object [object Object] has no method 'jCountdown'

也许你的插件没有正确加载......

删除你添加jQuery.1.10.2的jQuery,所以我不觉得它不起作用..

PLUS - WordPress已经添加了jQuery.1.8.3一个版本

现在,在您的测试文件中,您有这个

var startY = 840;
var stopY = 1900;

$(window).scroll(function(){
    checkY();
});

function checkY()
{
    console.log($(window).scrollTop()); 
    if($(window).scrollTop() > startY && $(window).scrollTop() <= stopY)
    {
        console.log("Show"); 

        $('.fixedDiv').fadeIn("slow"); 
    }
    else
    {
        console.log("Hide"); 
        $('.fixedDiv').fadeOut();
    }
}

checkY();

Wordpress使用jQuery.noConflict(); 默认情况下,您需要确保将代码包装在以下内容中

(function( $ ) {

    // Code Here....

}( jQuery ));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM