0

Wordpressテーマのヘッダーに含まれていると、小さな背景アニメーションスクリプトで以下に示すエラー(73TypeError)が発生し、スクリプトが壊れます。スクリプトがWordpress以外のページに含まれている場合、エラーは表示されません。

ここに画像の説明を入力してください

スクリプトは次のとおりです。

$(function() {
   $(".bottom").hover( function () {
      $(this).animate( {
         backgroundPosition : '0px 35px'}
      , 300); }
   , function () {
      $(this).animate( {
         backgroundPosition : '0px 0px'}
      , 600); }
   ); 
   }
);

誰かがこのエラーの原因についてアドバイスできますか?

ありがとう、

ニック

4

1 に答える 1

1

ワードプレスで最初に、jQueryはno-COnflictでロードする必要があります。したがって、この場合、ファイルは次のようになります。

var $j = jQuery.noConflict();

$j(function() {
   $j(".bottom").hover( function () {
      $j(this).animate( {
         backgroundPosition : '0px 35px'}
      , 300); }
   , function () {
      $j(this).animate( {
         backgroundPosition : '0px 0px'}
      , 600); }
   ); 
   }
);

次に、未定義の場合と同様に、を使用してjQueryをロードする必要がありますwp-enqueue-script();

これを実現するには、ベストプラクティスとして、jQueryを別のファイルに配置します。たとえばbganimation.jsと呼びます

ここで、そのjsファイルをwordpressにロードするには、wp-enqueue-script();を使用します。このような。

function this_is_jquery_example(){
wp_enqueue_script( 'jquery' );;
wp_enqueue_script('myscript', plugin_dir_url(__FILE__) .' bganimation.js');

}
add_action('wp_enqueue_scripts','this_is_jquery_example');

お役に立てれば。

于 2012-06-16T16:10:07.903 に答える