jQuery无法在Wordpress中运行

时间:2012-04-14 13:58:51

标签: javascript jquery wordpress

我有一些jQuery脚本可以在这里找到:http://jsfiddle.net/RUqNN/45/

当我将此脚本合并到我的wordpress模板中时,我无法正常工作。

我检查了jquery源链接,重写了代码,没有任何效果。

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
</head>
    <body>
      <script type="text/javascript">
        $(document).ready(function() {
          $(".move").toggle(
            function() {
              $("#teetimetag").animate({
                right: "0px"
              }, "normal");
            },function() {
              $("#teetimetag").animate({
                right: "-200px"
              }, "normal");
          });
        });
    </script>
      <div id="teetimetag">
         <img class="move" src="http://test.tooheavytoskydive.com/wp-content/themes/newtheme/images/flag.png" style="float: left;" />
        <div style="margin: 15px 0 0 50px;">
          <a href="http://test.tooheavytoskydive.com/reservations/" style="color: #FFF; font-weight: bold; font-size: 17px;">Reserve your Tee-Time</a>
        </div>
      </div>
    </body>
    </html>

3 个答案:

答案 0 :(得分:1)

您的网站提供以下javascript错误:'$不是函数'。看起来jQuery与其他一些库冲突。这可以通过调用jQuery.noConflict()并用'jQuery'替换所有$来解决。代码如下所示:

jQuery.noConflict();
jQuery(document).ready(function() {
          jQuery(".move").toggle(
            function() {
              jQuery("#teetimetag").animate({
                right: "0px"
              }, "normal");
            },function() {
              jQuery("#teetimetag").animate({
                right: "-200px"
              }, "normal");
          });

});

答案 1 :(得分:0)

你应该在你的模板functions.php文件中注册你的js文件:

wp_register_script('jquery', 'http://code.jquery.com/jquery-1.7.2.min.js');

http://codex.wordpress.org/Function_Reference/wp_register_script

答案 2 :(得分:-1)

作为一般规则,除非您使用shortcuts之一,否则不应将$变量用于jQuery。以下是如何快捷方式使jQuery安全使用$变量的示例:

jQuery(function ($) {
    /* You can safely use $ in this code block to reference jQuery */
});

要在wordpress加载jquery,请使用以下两个版本中的任何一个。在Plugin Pagefunction.php

处添加代码
function include_jQuery() {
    if (!is_admin()) {
        wp_enqueue_script('jquery');
    }
}
add_action('init', 'include_jQuery');

当然,您可以使用任何有意义的函数名称代替include_jQuery

或者,您可以使用以下代码:

function include_jQuery() {
    if (!is_admin()) {
        // comment out the next two lines to load the local copy of jQuery
        wp_deregister_script('jquery'); 
        wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js', false, '1.8.3'); 
        wp_enqueue_script('jquery');
    }
}
add_action('init', 'include_jQuery');

您也可以从我亲自学习上述技术的地方获得THIS链接。非常感谢 Ericm Martin!