0

我已经阅读了一些内容并试图弄清楚这一点,但无法让它发挥作用!

问题是,首先我需要设置var count = 0;,然后每次$('.next')单击时计数,这样我以后可以在代码底部使用它并让最终变量progress正确。

我在这里做错了什么?

$(document).ready(function () {
    var count = 0;
    $('.next').click(function () {
        var counter = count++;
        $('.question-holder:visible').slideUp().closest('.question-holder').nextAll('.question-holder').eq(0).delay(500).slideDown();
    });
    $('.prev').click(function () {
        $('.question-holder:visible').slideUp().closest('.question-holder').prevAll('.question-holder').eq(0).delay(500).slideDown();
    });
    $('#end').on('click', function () {
        $('.question-holder').slideUp().closest('.question-holder');
        $('#end').remove();
        $('.next').remove();
        $('.prev').remove();
        $('#submit-holder').fadeIn();
    });
    var countQuestions = $('div.question-holder').length;
    var splitCount = 100 / countQuestions;
    var progress = splitCount * counter;

    $("div.bar").css("width", progress + "%");
});
4

2 回答 2

2

尝试这个:

var count = 0;
$('.next').click(function () {
  count++;

...

var countQuestions = $('div.question-holder').length;
var splitCount = 100 / countQuestions;
var progress = splitCount * count;

每次.click()触发事件时,您的counter变量都会被重新初始化,因此会擦除您尝试跟踪的任何计数。

只需增加count变量,它就会很好地工作。

于 2013-04-30T16:12:42.747 回答
1

你可以count像这样使用 var -

var progress = splitCount * count;

counter这里不需要变量var counter = count++;

count++只需要在点击处理程序中

编辑 :

工作演示-> http://jsfiddle.net/mohammadAdil/p3PFG/2/

您需要在点击处理程序中计算和更新进度条

于 2013-04-30T16:14:08.727 回答