2013-04-30 51 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