1

我认为(不是 100% 肯定)我正遭受 javascript 冲突的困扰。我正在使用插件在我的 WordPress 页面上生成倒计时时钟,并且我正在使用一些带有 jQ​​uery 的简单定制 javascript 来使 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 托管的脚本导致时钟无法正常工作。

当我的标题中有 Google 托管的 jquery 库的代码时,我收到以下错误:Error = Object [object Object] has no method '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

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

4

1 回答 1

2

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

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

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

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();

WordpressjQuery.noConflict();默认使用,因此您需要确保将代码包装在以下内容中

(function( $ ) {

    // Code Here....

}( jQuery ));
于 2013-07-21T22:41:22.920 回答