0

$(db) に大量の xml データがあります。特定の要素がクリックされると、関数は $(db) をトラバースし、非表示の div 内に新しい DOM 要素を作成します。どうすればdivをスムーズにスライドできますか?

$('li').live('click', function(){
    // many $('div.content').append(....
    $('div.content').slideDown();
});

上記の例では、div.content が表示されますが、スライド効果はありません。DOM 要素を作成する代わりに、さまざまな同じコンテンツを含む html ドキュメントを読み込むと、スライド効果が適切に機能します。新しい DOM 要素を大量に作成すると、ブラウザが動かなくなり、スムーズなアニメーションを実行できないと思います。どうすればこの問題を解決できますか? 変数内にすべての DOM 要素を作成し、.load() を使用した場合と同じように表示することは可能でしょうか?

4

1 に答える 1

0

DOMから新しく作成された要素を選択できる場合、このメソッドはうまく機能します(jQueryが必要です)。作成した要素を表示してから、ブラウザをスクロールして表示します。

function scrollTo(element){
    $("html, body").animate({
         scrollTop: $(element).position().top
    });
}
于 2012-04-17T17:16:25.437 に答える