この記事では、数値スクロールプラグインnumberAnimate.jsの使用方法を説明します。困っている友人は参考にしていただければ幸いです。
このエフェクトを備えたプラグインはたくさんあるはずだと思ったので、numberAnimate js のデジタル スクロール プラグインを見つけました。使いやすく、非常にシンプルで、ニーズを満たしています。
コードは次のとおりです:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>数字滚动插件</title> <link rel="stylesheet" type="text/css" href="../dist/style/numberAnimate.css" /> </head> <body> 无分隔符,无小数点:<p class="numberRun"></p><br><br> </body> <script src="http://cdn.bootcss.com/jquery/1.8.3/jquery.min.js"></script> <script type="text/javascript" src="../dist/script/numberAnimate.js"></script> <script type="text/javascript"> $(function(){ //初始化 var numRun = $(".numberRun").numberAnimate({num:'1553093', speed:1000}); //想要的是过一段时间加1的效果,可以实现 var nums = 1553093; setInterval(function(){ nums+= 1; numRun.resetData(nums); },2000); }) </script> </html>
望ましい効果は、一定期間後に 1 を追加することであり、これは達成できますが、小さな バグ
があります。 1 桁から 9 時で 1 桁進み、その後ビットが 0 になります。問題は、ここでの数字 0 が、長時間デバッグすると、次の時間間隔で 11 に直接スクロールアウトできないことです。 numberAnimate.js code> であることがわかりました。85 行目の判定条件に問題があります。以下に示すように、if 判定をコメントアウトするだけです: <code>bug
,那就是,比如说,个位数字加到9时进一位然后该位上为0,问题来了,这里0的数字却滚动不出来,直接到了下一个时间间隔时滚动到了11,调试了很久发现,是numberAnimate.js
中,第85行的判断条件有问题,注释掉该if判断就好了,如下图:
上图中,第85行的$(this).css("top")
一直都是0px
,而第84行计算获取到的thisTop
在数字滚到到0 时值为0px
,所以导致直接跳过了判断,没有执行到transform
动画那里,所以少了0的效果,导致看起来的效果就是9直接跳到了11,没有10。
另外,提示一句,改变数字的字号大小,需要修改的numberAnimate.css
中的height、width、字号
0px
であり、thisTop 84行目で計算されるcode>は、数字が転がったときに計算されます。0の値は<code>0px
なので、直接判定をスキップし、transform
アニメーションは実行されません。 0 の効果が欠落しているため、見かけの効果は 9 になります。10 ではなく 11 にジャンプしました。
🎜jQueryスクロールバープラグイン Nicescrollの使い方は? 🎜🎜🎜🎜以上がプラグイン番号スクロールプラグインnumberAnimate.jsの使い方は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。