2016-11-14 116 views
2

目前,此函數似乎一直計算到更高的值。我希望它簡單地數到30更改計數JavaScript函數

下限值這是腳本:

$(".circleStatsItemBox").each(function() { 
 
    var value = $(this).find(".value > .number").html(); 
 
    var unit = $(this).find(".value > .unit").html(); 
 
    var percent = $(this).find("input").val()/100; 
 

 
    countSpeed = 2300 * percent; 
 
    endValue = value; 
 

 
    $(this).find(".count > .unit").html(unit); 
 
    $(this).find(".count > .number").countTo({ 
 
    from: 0, 
 
    to: endValue, 
 
    speed: countSpeed, 
 
    refreshInterval: 50 
 
    }); 
 

 
    //$(this).find(".count").html(value*percent + unit); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdn.rawgit.com/mhuggins/jquery-countTo/master/jquery.countTo.js"></script> 
 
<div class="circleStatsItemBox yellow"> 
 
    <div class="header">Levels of Interest</div> 
 
    <span class="percent">% Increase</span> 
 
    <div class="circleStat"> 
 
    <input value="25" class="whiteCircle" type="text"> 
 
    </div> 
 
    <div class="footer"><span class="count"> 
 
    <span class="number">30</span> 
 
    <span class="unit">Before</span> 
 
    </span> <span class="sep">/</span> 
 
    <span class="value"> 
 
<span class="number">40</span> 
 
    <span class="unit"> During</span> 
 
    </span> 
 
    </div> 
 
</div>

+0

你能解釋一下嗎? :'我希望它只計算到30的較低值。' –

+0

當然,對不起可怕的解釋。在這個例子中,類「數字」是30,所以我基本上希望計數器只能計數到30 ....或者任何在該html區域中的數據......在這種情況下,它是30 ...計數器似乎計數一直到更高的數字是40 – greggycoding

回答

1

您需要在JavaScript代碼來改變選擇。

var value = $(this).find(".count > .number").html(); 

$(".circleStatsItemBox").each(function() { 
 
    var value = $(this).find(".count > .number").html(); 
 
    var unit = $(this).find(".value > .unit").html(); 
 
    var percent = $(this).find("input").val()/100; 
 

 
    countSpeed = 2300 * percent; 
 
    endValue = value; 
 

 
    $(this).find(".count > .unit").html(unit); 
 
    $(this).find(".count > .number").countTo({ 
 
    from: 0, 
 
    to: endValue, 
 
    speed: countSpeed, 
 
    refreshInterval: 50 
 
    }); 
 

 
    //$(this).find(".count").html(value*percent + unit); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdn.rawgit.com/mhuggins/jquery-countTo/master/jquery.countTo.js"></script> 
 
<div class="circleStatsItemBox yellow"> 
 
    <div class="header">Levels of Interest</div> 
 
    <span class="percent">% Increase</span> 
 
    <div class="circleStat"> 
 
    <input value="25" class="whiteCircle" type="text"> 
 
    </div> 
 
    <div class="footer"> 
 
    <span class="count"> 
 
     <span class="number">30</span> 
 
     <span class="unit">Before</span> 
 
    </span> 
 
    <span class="sep">/</span> 
 
    <span class="value"> 
 
     <span class="number">40</span> 
 
     <span class="unit"> During</span> 
 
    </span> 
 
    </div> 
 
</div>

+0

雖然不能完全確定那裏出了什麼問題,但仍然有效。非常感謝您的幫助 – greggycoding

+0

唯一的問題是它附加了較大的數字文本而不是「之前」 – greggycoding

+0

「.value> .number」'選擇器將計數的結束值設置爲40.更改將選擇器設置爲'「.count> .number」'將值設置爲30。 –