2013-04-30 48 views
0

我读过一点,并试图弄清楚这一点,但不能设法得到它的工作!jQuery的 - 用变量功能外

的问题是,第一,我需要设置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 + "%"); 
}); 
+0

现在有什么问题? – 2013-04-30 16:12:41

+0

您增量次数和使用计数器。不要使用计数器变量,也没用。 – 2013-04-30 16:13:37

回答

1

您可以使用count VAR这样的 -

var progress = splitCount * count; 

无需可变counter这里var counter = count++;

你只在单击处理

编辑需要count++

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

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

+0

,你是王!非常非常感谢你!万分感激! :) – Kim 2013-04-30 17:17:26

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变量,它会很好地工作。

+0

此外,你需要使用'count'下方,而不是'counter' – 2013-04-30 16:15:50

+0

这个问题刚编辑..这是以前“计数”>。< – Mysteryos 2013-04-30 16:16:43