0

AnythingSliderを使用して、ツイート、ブログ投稿、flickr写真、およびyoutubeビデオのマッシュアップを表示していますが、最初はうまく機能しています。並べ替え機能を追加しようとしていますが、ボタンをクリックしてすべてのスライドを削除し、新しいスライドを追加して、プラグインを再初期化する必要があります。

AnythingSliderのドキュメント(およびコード)は、スライドを削除する機能を示唆しており、プラグインはそれを一歩踏み出す必要があります。私はどこにもどんな種類の削除コードも見つけることができなかったので、私はこのようなものがうまくいくだろうと考えました:

$("#slider li:not(.cloned)").remove();

しかし、これまでのところ私は運がありませんでした。誰かがこのようなことを経験したことがありますか?どうもありがとう。

4

1 に答える 1

1

スライドを削除するコードは組み込まれていないため、上記のコードを使用できます。または、本当にすべてのスライドを削除したい場合は、次のようにします (複製されたスライドを削除する必要はありません)。

$('#slider li').remove();

次に、必要な新しいスライドを追加します (並べ替え済みなど)。

$('<li>New Stuff</li>').appendTo('#slider');

次に、スライダーを更新します

$('#slider').anythingSlider(); // don't include options

上記のコードは基本的に、AnythingSlider デモ ページ(テーマ セレクターの横のボタン) に表示されるコードと同じです。私はより多くのコメントでそれを以下に含めました:)

// Add a slide
var imageNumber = 1;
$('button.add').click(function(){
  $('#slider1')
    // add a new slide, but cycle between two images
    .append('<li><img src="images/slide-tele-' + (++imageNumber%2 + 1)  + '.jpg" alt="" /></li>')
    // update the slider
    .anythingSlider();
});
$('button.remove').click(function(){
  // don't let the last slide get deleted - it's ok if you do delete it, it's just not purdy ;)
  if ($('#slider1').data('AnythingSlider').pages > 1) {
    // remove the last slide (the cloned slide is actually the last, that's why there is a ":not()" in there
    $('#slider1 > li:not(.cloned):last').remove();
    // update the slider
    $('#slider1').anythingSlider();
  }
});
于 2011-04-17T07:37:26.103 に答える