1

のその位置を識別する変数を持つことができるようにする必要がありli、 を使用して.index()、各個人の変数番号に応じてそれに値を割り当てますli

これは少し紛らわしいかもしれませ。3 つliの s があり、ボタン/リンクをクリックすると:nth-childposition: absolute. しかし、私が現時点で抱えている問題は、変数 ( itemNumber) が同じであり、 ごとに変化しないことですli

これが私のコードです:

<ul>
    <li>Lorem Ipsum 1</li>
    <li>Lorem Ipsum 2</li>
    <li>Lorem Ipsum 3</li>
</ul>
<a href="#">Click me</a>

およびJS:

var itemNumber = $("ul li").index() + 1;

 $("a").click(function () {
     $("ul").toggleClass("expanded");
     $("ul li").each(function () {
         $("ul li:nth-child(" + itemNumber + "n)").css("top", itemNumber * 30 + "px");
     });
 });

アイデアが少しわかりにくいので、詳しく説明していただければ幸いです。itemNumber基本的な前提は、ごとに変数を変更する必要があり、li任意の数の が存在する可能性があるということliです。

4

2 に答える 2

1

あなたはこれを試すことができます -

$("ul li").each(function (index,element) {
         $("ul li:nth-child(" + index + "n)").css("top", index * 30 + "px");
});

またはそれ以上

$("ul li").each(function (index,element) {
         $(this).css("top", index * 30 + "px");
});
于 2013-04-23T10:13:07.073 に答える
0

.eq代わりに使用してください:

var itemNumber = $("ul li").index(); // eq is 0 based index

$("ul li").each(function (i, v) {
         $("ul li").eq(itemNumber).css("top", (itemNumber + 1) * 30 + "px");
     });
于 2013-04-23T10:14:31.323 に答える