2012-04-14 31 views
0

工作,我有jQuery腳本的此位,可以在這裏找到:http://jsfiddle.net/RUqNN/45/jQuery的不是在WordPress

當我將這一劇本到我的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> 
+0

這是使用wordpress的免費版本嗎?他們是否限制添加自己的js? – 2012-04-14 14:05:03

+0

是免費版本。我從來沒有聽說過他們限制JS。我使用了大量使用它的插件。 – Plummer 2012-04-14 14:09:27

回答

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"); 
      }); 

}); 
+0

任何解壓工具/提示找出是什麼導致衝突? – Plummer 2012-04-14 14:37:28

+0

我不知道這樣的工具。您可以禁用插件並查看問題出在哪裏。 在你的情況下,這個問題似乎在預訂日曆腳本中,你定義'var jWPDev = jQuery.noConflict();'。當您使用noConflict時,$未設置。這就是爲什麼錯誤'$不是函數'出現的原因。 – dennisg 2012-04-14 15:19:29

+0

那麼,$的功能目前被放入變量jWPDev中。您可以使用'jWPDev'而不是$,或者刪除該行,使$成爲原始函數。請記住,如果刪除該行,則需要將所有出現的jWPDev更改爲$(我認爲這僅用於文件wp-content/plugins/booking/js/datepick/jquery.datepick.js的底部)。 爲了找到這個,我只查看了你網站上的所有javascript,尋找可能導致衝突的原因(基本上在你的代碼中尋找$)。 – dennisg 2012-04-14 17:25:25

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

+0

該呼叫位於何處?在函數文件或標題中?在你的functions.php中使用 – Plummer 2012-04-14 14:06:38

+0

,它將通過使用wp add_action()函數來調用,你可以控制應該如何以及爲哪些頁面調用它,閱讀wp文檔的這部分以獲取更多信息:http://codex.wordpress。 org /使用_Javascript – undefined 2012-04-14 14:23:12

-1

作爲一般規則,你不應該使用$變量jQuery,除非你已經使用了shortcuts之一。以下是如何快捷jQuery來安全地使用$變量的例子:

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

要在WordPress的使用下面2個版本的任一個加載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'); 

你可能喜歡從那裏我個人學習上述技術(S)THIS鏈接爲好。非常感謝Ericm Martin!