2

これは非常に単純に思えます。私がどのようにそれを混乱させているのか、静かではありません。

リストがあります。最初の 3 つの項目を前面から取り、背面に追加します。前面からアイテムを削除したくありません。前と後ろにつけてほしいです。

だから私のリストはこのように始まります

[1,2,3,4,5,6,7,8,9,10]

そして、私が終わった後、それはこのようになります

[1,2,3,4,5,6,7,8,9,10,1,2,3]

このリストは<ul>

これが私のコードです

_options.slides = $.makeArray($('.slide'));
var el = [];
$.each(_options.slides.splice(0, 3), function (x, item) {
     el.push(item);
});
$('#video-triggers').clone().append(el);  //break point here

私はあまりにも長い間これをいじっていたので、コードの誰かはおそらく不要です。clone append 行にブレークポイントを置き、コンソール (開発ツール) でコードを実行すると、結果は次のようになります。

ここに画像の説明を入力

編集

クローンと追加の行には結果がありますが、コンテナーにはそれらの結果がありませんか?

クローンなしの結果は次のとおりです

ここに画像の説明を入力

編集2

私もこれを試しました

$('#video-triggers').append(_options.slides.concat(el))
4

4 に答える 4

2

操作の順序と変数が混同されています。. . コピーしたいの<ul>ではなく、ターゲットのクローンを作成しています。<li>これを試して 。. .

これを変える:

$('#video-triggers').clone().append(el);

. . . これに:

el.clone().appendTo($('#video-triggers'));
于 2013-08-09T17:36:49.710 に答える
1

unshift();を使用します。アイテムを配列の前にプッシュします。

$.each(_options.slides.splice(0, 3), function (x, item) {
     el.push(item);
     el.unshift(item);
});
于 2013-08-09T17:19:24.927 に答える
1

それは、クローンを作成し、新しい要素をクローンに追加したためです(クローンはページに存在しません)。

于 2013-08-09T17:18:09.393 に答える
0
a = [1,2,3,4,5,6,7,8,9,10];
b = a.concat(a.slice(0,3));
console.log(b);
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3]
于 2013-08-09T17:22:47.420 に答える