1

私は Web プログラミングが初めてで、三項演算子をあまり扱っていません。jquery スライダーのサンプル コードを見つけましたが、ユーザーがバナーの上にマウスを移動すると停止するように編集する必要があります。私は誰かが私が以下のコードを if と else if ステートメントの単純なセットに変えるのを手伝ってくれることを望んでいました。前もって感謝します。

//Get next image, when it reaches the end, rotate it back to the first image 

var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('div.rotator ul li:first') :current.next()) : $('div.rotator ul li:first'));
4

3 に答える 3

2

三項演算子を使用しない同等のものは次のとおりです。

var next;
if (current.next().length) {
   if (current.next().hasClass('show')) {
      next = $('div.rotator ul li:first')
   }
   else {
      next = current.next();
   }
}
else {
   next = $('div.rotator ul li:first'));
}
于 2013-01-14T19:27:31.053 に答える
1

三項演算子は次の形式であることを知っておく必要があります。

condition ? if true : else

このように書いて翻訳してみてください。

var next = ((current.next().length)
            ?
                ((current.next().hasClass('show'))
                ?
                    $('div.rotator ul li:first')
                :
                    current.next())
            :
                $('div.rotator ul li:first'));

if/else ブロックのように視覚化できるようになったので、構文を変更するだけです。

var next;
if (current.next().length) {
    if (current.next().hasClass('show')) {
        next = $('div.rotator ul li:first');
    } else {
        next = current.next());
    }
} else {
    next = $('div.rotator ul li:first');
}
于 2013-01-14T19:26:15.923 に答える
0

if/に相当するものは次のelseとおりです。

var next;
if (current.next.length) {
    if (current.next().hasClass('show')) {
         next = $('div.rotator ul li:first');
     } else {
        next = current.next();
    }
} else {
    next = $('div.rotator ul li:first');
}
于 2013-01-14T19:28:53.903 に答える