0

clone(rue、false).inject('myList'、'top')を使用すると、'top'がwhere文字列の場合にアイテムの順序が逆になります。これをソートするエレガントな方法があるに違いありませんか?私のアプローチは間違っていますか?

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-gb" xml:lang="en-gb">
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="js/moo.1.4.5/core.js"></script>
    <script type="text/javascript">
        window.addEvent('domready', function () {


            $('myList').getChildren().each( function (el, i)  { 
                el.clone(true, false).addClass('clone').inject('myList', 'top');
                el.clone(true, false).addClass('clone').inject('myList', 'bottom');
            }) ;


        });
    </script>
</head>
<body>
    <ul id="myList">
        <li><p>Slide 1</p></li>
        <li><p>Slide 2</p></li>
        <li><p>Slide 3</p></li>
        <li><p>Slide 4</p></li>
        <li><p>Slide 5</p></li>
    </ul>
</body>
</html>

戻り値

<ul id="myList">
   <li class="clone"><p>Slide 3</p></li>
    <li class="clone"><p>Slide 2</p></li>
    <li class="clone"><p>Slide 1</p></li>
    <li><p>Slide 1</p></li>
    <li><p>Slide 2</p></li>
    <li><p>Slide 3</p></li>
    <li class="clone"><p>Slide 1</p></li>
    <li class="clone"><p>Slide 2</p></li>
    <li class="clone"><p>Slide 3</p></li>
</ul>
4

2 に答える 2

0

あなたがしていることを見てくださいinject('top')...。リストの一番上は常に同じ位置、つまりリストの一番上です。

例えば

1 2 3         <--original
1 1 2 3       <--clone 1 + insert top
2 1 1 2 3     <--clone 2 + insert top
3 2 1 1 2 3   <--clone 3 + insert top

クローンを作成するチャンクの最後から開始し、逆方向に作業する必要があります。

1 2 3         <--original
3 1 2 3       <--clone 3 + insert top
2 3 1 2 3     <--clone 2 + insert top
1 2 3 1 2 3   <--clone 1 + insert top
于 2013-01-22T15:49:42.317 に答える
0

あなたの目的に依存します。リストのクローンを作成して上部に挿入することが目的の場合は、現在の考え方に沿ってこれを行うことができます。

http://jsfiddle.net/dimitar/xNWrM/

var list = $('myList'),
    lis = list.getElements('li');

lis.reverse().each(function(el){
    el.clone(true, true).addClass('clone').inject(list, 'top');
});

それらをループするときに以前に注入された要素の後に注入することによってそれらを複製するより洗練された方法があるかもしれません、これはElements.reverse呼び出しを保存します。

于 2013-01-22T18:16:16.237 に答える