使用jQuery简单计数

时间:2013-08-21 14:42:58

标签: jquery counter

我有一组问题,想要在它们上面显示一个简单的进度计数器。 下面的代码工作正常,但我想知道是否有人可以建议重构,因为这是实现这一目标的更好方法。

    var totalCount = $('#questions li').length,
        count = 1;
    $('.progress').html("Question " + count + " of " + totalCount);                 

    // Increment by 1 on each click
    $('.btn-next').click(function(){                        
        count ++ ;

        // remove current count
        $('.progress').empty();

        // drop in new count
        $('.progress').html("Question " + count + " of " + totalCount); 
    });

    // Decrease by 1 on each click
    $('.btn-prev').click(function(){
        count -- ;

        // remove current count
        $('.progress').empty();

        // drop in new count
        $('.progress').html("Question " + count + " of " + totalCount);
    });

1 个答案:

答案 0 :(得分:2)

你可以干掉那段代码。试试这个:

var totalCount = $('#questions li').length + 1, // add 1 as .length is 0 based
    count = 1;

$('.btn-next, .btn-prev').click(function(){                        
    count = $(this).hasClass('btn-next') ? count - 1 : count + 1;
    $('.progress').html("Question " + count + " of " + totalCount) 
});

请注意,在您替换empty()时,您不需要html()