1

数字を降順にする必要があるのですが、0になると9になるはずです..

たとえば、numが 2 だとします。順序は次のようになります。2, 1, 9, 8, 7, 6, 5, 4, 3

var num = 2;
$(function() {
        $(".one").html(num);
        $(".two").html((num-1)%9);
        $(".three").html((num-2)%9);
        $(".four").html((num-3)%9);
        $(".five").html((num-4)%9);
        $(".six").html((num-5)%9);
        $(".seven").html((num-6)%9);
        $(".eight").html((num-7)%9);
        $(".nine").html((num-8)%9);
});​

しかし、コードには0と負の数があります。どうすればそれを克服できますか?

http://jsfiddle.net/yqGV7/

ご協力いただきありがとうございます。

4

4 に答える 4

5

これを試して:

var num = 3;
$(function() {
    $('span').each(function(i){
        num--;
        if (num == 0) {
           num = 9;
        }
        $(this).text(num)
    })
});

デモ

于 2012-07-10T12:53:20.777 に答える
1

最もクリーンなコードではありませんが、あなたが言っていることを実行します:

var num = 2;
num = num + 9;
$(function() {
    $(".one").html(num % 9 || 9);
    $(".two").html((num-1)%9 || 9);
    $(".three").html((num-2)%9 || 9);
    $(".four").html((num-3)%9 || 9);
    $(".five").html((num-4)%9 || 9);
    $(".six").html((num-5)%9 || 9);
    $(".seven").html((num-6)%9 || 9);
    $(".eight").html((num-7)%9 || 9);
    $(".nine").html((num-8)%9 || 9);
});​
于 2012-07-10T12:55:09.737 に答える
1

クリーナー:

var num = 2;
$("span").each(function(idx) {
    $(this).text(((num - idx) % 9 + 9) % 9 || 9);
});
于 2012-07-10T12:58:16.260 に答える
1
var num = 2;
var max = 9;
$(".one, .two, .three, .four, .five, .six, .seven, .eight, .nine").each(function(i,e){
  if(num>i) { 
    $(e).html(num-i);
  } else { 
    $(e).html(max-(i-num));
  } 
});

これがフィドルです:http://jsfiddle.net/yqGV7/6/

于 2012-07-10T13:16:35.300 に答える