0

うまく機能するjQueryエフェクト(slideUp()など)がいくつかあります。

今、そこに div を追加し.load()た後setTimeout、エフェクトが機能しなくなりました。

これは、私が推測する前にdivが存在しなかったため.load()です。

エフェクトと.load()は両方とも同じ JS ファイルにあり、すべてラップされています。jQuery(document).ready(function($) { /*They are here*/ });

.load()編集された後、これらの div でこれらの効果を呼び出すにはどうすればよいですか?

4

1 に答える 1

1

.slideUp() メソッドなどを設定するコードを投稿していないので、次のようなものがあると想定しています。

$(function) () {

   $('.class').slideUp(300);
   $('.wrapper').load('someurl.html'); // this loads some elements with .class
   // these elements won't get slideUp applied because they are not in the DOM at the time of the slideUp call


)};

ロード コールバックでイベント/関数を設定する必要があります。

$('#result').load('ajax/test.html', function() {
  //apply events to new elements
  $('.class').slideUp(300);  // this would be inside a click event I'm assuming
});

または、コメントに記載されているように...委任を処理できる .on を使用できます(使用する必要があります)。私のポイントは、イベントが適用されない理由を理解できるようにすることです

于 2012-08-25T01:19:47.263 に答える