偶尔一个项目需要一些统计数据展示,没有更好的方式比通过添加一个小动画数量值。
历史上像CountUp我会用一个脚本。js我使用,但在几项目,遇到了一些问题,需要注意避免控制台错误取决于他们与滚动操作的用户。
在当前项目我正在需要动画值进行统计,我决定使用别的,nameley jQuery的动画计算值,和锚点。js引发当滚动的元素进入视野。
我们唯一需要第三方中转地点4.0.1比jQuery(其他):
wp_enqueue_script(“锚点”,“https://cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js”,数组(),_S_VERSION, true);
这是一个精简版的我写道:
< div class = " col-sm-12 col-md-6 col-lg-3 " > < div class = " stat-inner text-center”> < div class = " icon-holder " > < div class = " stat-icon-inner " > < div class = "价值" > < div class = " counterholder " > <跨类=“计数器”data-count = " 12000 " > < / span > < / div > < / div > < / div > < / div > < / div > < / div >
在这里,12000年是我们计算的值。在现实中,我使用一个中继器,有4个在同一行数据,连同其他日期就像一个标题,标签,描述和图标。但这是一个精简版本的省略,让事情变得简单。
接下来,我们需要jQuery:
var路标= new路标({元素:. getelementbyid(柜台),处理程序:函数(){$ (' .counter ') . each(函数(){var = $美元(这),countTo = $ this.attr (“data-count”);$ ({countNum: $ this.text ()})。动画({countNum: countTo},{时间:3000 / /时间计数宽松:“线性”,步骤:函数(){this.text美元(commaSeparateNumber (Math.floor (this.countNum)));},完成:函数(){$ this.text (commaSeparateNumber (this.countNum));}});});函数commaSeparateNumber (val){而(/ (\ d +) (\ d {3}) / test (val.toString ())) {val = val.toString () .replace (/ (\ d +) / (\ d{3}),“$ 1”+”、“+ 2美元);}返回val;}},抵消:‘100%’/ /这个触发动画时,点击窗口的底部。})
瞧,你有一个动画时,触发计数器视图中的元素。