2017-09-04 25 views
-2

特定の番号で開始する方法と、別の番号にスムーズに移行する方法を考えましたが、数値をゆっくりと増やす方法はわかりません。オドメーターをJavaScriptで更新するには?

"あなたの心はおおよそ...時に殴られました"というのは、私が達成しようとしていることの良い例です。

Link to Odometer

私の試み:

setTimeout(function() { 
 
    odometer.innerText = 456; 
 
}, 1000);
<!-- Odometr includes --> 
 
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/themes/odometer-theme-car.min.css"> 
 
<script src="https://cdn.jsdelivr.net/npm/[email protected]/odometer.min.js"></script> 
 

 
<div id="odometer" class="odometer odometer-theme-car">123</div>

不足しているものがある場合downvoteしないでください。

+0

毎秒1つずつ数字を増やしますか?あなたは実際に何をしたいですか? – jParmar

+0

はい毎秒1つずつ数字を増やしたい –

答えて

0

アニメーションの長さ、JavaScriptとCSSの両方、および到達したい値の3つを別々に設定する必要があります。

たとえば、10までカウントする場合は、「1秒あたり1回のリクエスト」あたり10秒かかります。

window.odometerOptions = { 
    duration: 1000 // duration in milliseconds 
}; 

setTimeout(function(){ 
    odometer.innerHTML = 10; // value to reach 
}, 1000); 

次に、CSSでスタイルを上書きします。

// duration in seconds 
.odometer.odometer-animating-up .odometer-ribbon-inner, .odometer.odometer-animating-down.odometer-animating .odometer-ribbon-inner { 
    -webkit-transition-duration: 10s !important; 
    -moz-transition-duration: 10s !important; 
    -ms-transition-duration: 10s !important; 
    -o-transition-duration: 10s !important; 
    transition-duration: 10s !important 
} 

希望する最大値に応じて数式を変更してください。無期限にカウントアップし続ける場合は、look into JavaScript's setInterval() method

更新

ここで簡単な、無期限の実装です。

(function() { 

    // set start value 
    var currentValue = 0; 

    // every second, set odometer value to current value, and count up by one 
    setInterval(function() { 

    odometer.innerHTML = currentValue; 
    currentValue++; 

    }, 1000); 

})(); 
+0

回答を編集して無期限に編集できますか?Javascriptに関する知識はゼロです。ご回答有難うございます。 –

+0

ええ、私はCSS、HTML、Javascriptをこのjsfiddle [リンク](https://jsfiddle.net/vc0ueqa9/1/#&togetherjs=JOu9uQS8MM)に入れました。一番下の方に)あなたはそれを修正しようとすることができますありがとう。 –

+0

自分のコードを変更しました。それをそのまま追加して、私に知らせてください。 –

関連する問題