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 回答