2012-01-03 6 views
1

私は奇妙な問題があります。show()、hide()、toggle()などでさえjQueryアニメーションを動作させることはできません

私はjqueryに切り替えたいので、最新のjqueryがロードされています。replaceWith()のように動作しますが、アニメーション化されたもの仕事はありません。それは本当に奇妙な問題ですが、私はコンソールにエラーが表示されず、私は間違って何が間違っている...

サイトのコードは実際には圧縮されていて読みにくくはありませんが、問題を参照してください。たとえば、リンクのページに移動し、左側の[言語]ボックスをクリックします。何が起こるべきかは、H3をクリックすると、デフォルトでnoneを表示するように設定されているdiv #langlisが表示されます。しかし、何も起こっていない。

jQuery replaceWithが動作します。これは右のウイルススキャンビットで使用されています。クリックするとウイルスがスキャンされ、正常に動作するように表示されますので、jQueryの機能は動作しますが、 :(

http://filequake.com/download-itunes-x64/

感謝。

+1

アニメーションの直前にブレークポイントを置き、コンソールで$(セレクタ)を実行します。それが長さ> = 1であること、つまり要素を正しく選択していることを確認してください。 – asawyer

答えて

1

クエリは、ドキュメント、見つかったすべての#のlangs_h3要素上で実行され$("#langs_h3").click(function() {...を呼び出して、あなたがで(クリックしてイベントにアタッチ提供しているイベントリスナー関数を取得します

しかし、あなたのページでは、インタプリタがJavascriptコードに到達するまでにあなたが探しているH3要素はまだ存在しません。 <h3>タグ

あなたができることは2つあります。あなたは、ページの下部にコードを移動することができます。または、引数としてその機能を渡して)一番上にそれを維持するが、関数の内部で、それを入れて、(jQueryのを呼び出すことができます。

jQuery(function(){ 
    // your code here 
    $("#langs_h3").click(function() { /* ... */ } 
}); 

この第二の提案があります一般的な練習であり、あなたのすべてのjavascriptを <header>セクションに入れておくことをお勧めします。 jQuery関数は、関数を渡してすぐに実行するのではなく、Document onLoadイベントが発生したときにその関数を格納して呼び出すようにします(コードをページの下部に置くのと同様です)。あなたが探しているH3要素はそれまでに存在します。

+0

こんにちは、コードを頭に入れればいいですか?もともとはそこにありましたが、トラブルシューティングを試みました。 –

+0

こんにちは、私はあなたの提案を使用してjQuery(function()などを置いています、それは動作します、私はまた頭に動かしました、それはまだ動作しますので、ありがとう:)私はまだ理解していません後でコードに表示されるため、イベントリスナーについて言いましたが、要素が作成される前にこのコードを実行すると、ページがボトムアップから構築されることはありませんでしたか?明らかに私はここにいくつかの基本的なものが欠けている.. :( –

+1

編集された答えを参照してください。 –

関連する問題