2

私は彼らの店の窓のために不動産の非インタラクティブなディスプレイを作っています

jCarouselをキックして、やりたいことを実行しました。

  • AJAX ごとにパネルを追加する
  • 現在のセットの終わりに向かって、いくつかの新しいパネルに移動して AJAX に挿入し、それらを挿入します。

これは問題なく動作しますがremove()、前の要素で jQuery を呼び出すと、見苦しいバンプが発生するようです。hide()要素がまだ存在するため、呼び出しによってリソースが解放されるかどうかはわかりません(とにかく要素は画面外になります)。

私はこれを見carousel.reset()、コールバック内から試しました。すべての要素をクリアするだけです。

これは Windows XP の Google Chrome で実行され、液晶テレビにのみ表示されます。

余分な DOM 要素を削除する合理的な解決策が見つからない場合、アプリケーションがクロールされるのでしょうか、それとも Chrome が巧妙なガベージ コレクションを実行するのでしょうか?

または、この問題をどのよう解決しますか?

ありがとう

4

2 に答える 2

1

古い要素を削除して新しい要素を追加する代わりに、古い要素を再利用できますか?

于 2010-06-16T09:13:29.900 に答える
1

私は非常に簡単な修正をしました!

これを jCarousel の構成に渡すだけです。

itemFirstOutCallback: {
               onAfterAnimation: function(carousel, li, index, state) {
                 if (state === 'init') return;

                 carousel.remove(index); 

               }
            }

基本的に、これはリスト要素が非表示になるとすぐに削除するだけです(overflow: hidden必要に応じて、負の領域にスクロールします:))

于 2010-06-17T00:27:54.777 に答える