1

div を表示または非表示にするために jQuery エフェクトを使用する必要があります。ただし、次のメソッドのいずれかが実行されると、コンソールにエラーが表示されます。

アニメーションは初めて完了しますが、アニメーションが完了した後、エラーが Safari コンソールに表示され、同じ div に他の jquery メソッドを再度適用することができません。

次のコードはjsfiddleで正常に動作するため、これはアプリケーションで他のコードが台無しになっていることが原因であると確信しています。

$('#testDiv').slideDown() 
$('#testDiv').slideUp() 
$('#testDiv').show('slow') 
$('#testDiv').hide('slow') 
$('#testDiv').toggle('slow')

エラー

TypeError: 'undefined' is not a function (evaluating 'c.replace(bo,"-$1")')

エレメント

<div id='testDiv'>text</div>
4

2 に答える 2

1

これらのステートメントを考えると(すべて引用):

  • the console doesn't show any error when using $('#testDiv').show() or $('#testDiv').hide()
  • this works fine when checking with a test html page or in jsfiddle.
  • the error occurs only in my project
  • The jquery library file is unaltered

これが私が思うことです:

jQuery show('slow')hide('slow')はjQuery-1.0で導入されました。

文字列 'fast' と 'slow' を指定して、それぞれ 200 ミリ秒と 600 ミリ秒の期間を示すことができます。

JavaScriptでは、何でも(ほぼ)変数名にすることができます:

ここに画像の説明を入力

多くの場合、多くのライブラリが$シンボルを使用していますが、jQuery のリリースで人気が高まったため、一部のライブラリでは同じ$.

jQuery では、$記号は の省略形ですjQuery

私のアドバイス:

別の JavaScript ファイルが jQuery の機能の一部をオーバーライドしているかどうかを確認するためだけに、 jQuery が最後に読み込まれる js ファイルであることを確認します。jQuery が機能するようになった場合は、別の JavaScript ファイルによってオーバーライドされていました。

次に、これを決定的な解決策として実行します。

Do $.noConflict();which は、それを使用する他のライブラリに対して を解放し、の代わりに$使用を開始します。jQuery$

このフィドルjquery-1.0.1(1.0 が見つかりませんでした) で動作します。JavaScript コードは次のとおりです。

$(function() {
    $('button#hideSlow').click(function() { $('p#hello').hide('slow'); });
    $('button#showSlow').click(function() { $('p#hello').show('slow'); });
});

資力:

于 2013-06-01T09:11:55.357 に答える