JavaScript趣题:循环计数器
2016-08-31 08:31
344 查看
前端组的各位:
大家先放下手上的活,又有新需求来了。
我们网站首页的那个大的计数器,就是统计用户软件下载量的那个。
产品经理看了下,觉得得加点特效,让它看起来更用户友好。
他已经拿出了一个方案,就是当数字停在确切的值之前,得有个循环滚动效果。
类似于这样:
任务如下:
创建一个函数,根据计数值字符串,创建二维数组返回。
例如:
counterEffect("1250") // [[0,1],[0,1,2],[0,1,2,3,4,5],[0]]
counterEffect("0050") // [[0],[0],[0,1,2,3,4,5],[0]]
counterEffect("0000") // [[0],[0],[0],[0]]
比方说,"1250",它的第一个字符1,和二维数组的[0,1]对应,第二个字符2,和[0,1,2]对应。
也就是从0到当前字符的过程,每一个中间数都要录入数组中。
思路:
很简单,从左至右遍历字符串,根据当前的字符,生成第二维的数组,push进第一维的数组即可。
function counterEffect(hitCount) {
var result = [];
for(var i=0;i<hitCount.length;i++){
var chr = hitCount.charAt(i);
var num = chr - 0;
var temp = [];
for(var j=0;j<=num;j++){
temp.push(j);
}
result.push(temp);
}
return result;
}
大家先放下手上的活,又有新需求来了。
我们网站首页的那个大的计数器,就是统计用户软件下载量的那个。
产品经理看了下,觉得得加点特效,让它看起来更用户友好。
他已经拿出了一个方案,就是当数字停在确切的值之前,得有个循环滚动效果。
类似于这样:
任务如下:
创建一个函数,根据计数值字符串,创建二维数组返回。
例如:
counterEffect("1250") // [[0,1],[0,1,2],[0,1,2,3,4,5],[0]]
counterEffect("0050") // [[0],[0],[0,1,2,3,4,5],[0]]
counterEffect("0000") // [[0],[0],[0],[0]]
比方说,"1250",它的第一个字符1,和二维数组的[0,1]对应,第二个字符2,和[0,1,2]对应。
也就是从0到当前字符的过程,每一个中间数都要录入数组中。
思路:
很简单,从左至右遍历字符串,根据当前的字符,生成第二维的数组,push进第一维的数组即可。
function counterEffect(hitCount) {
var result = [];
for(var i=0;i<hitCount.length;i++){
var chr = hitCount.charAt(i);
var num = chr - 0;
var temp = [];
for(var j=0;j<=num;j++){
temp.push(j);
}
result.push(temp);
}
return result;
}
相关文章推荐
- 上下循环滚动代码JAVASCRIPT
- javascript趣题(高人若知道script有什么奇怪的用法或令人费解的地方,务必留下片言碎语,不胜感激!)
- javascript多图片各种渐变循环
- javascript之循环停顿上下滚动
- Javascript利用closure循环绑定事件
- javascript循环判断Radio是否选中
- javascript 图片循环滚动 图片循环上下滚动
- javascript下计数器每秒自动加1
- 用JavaScript实现repeat 循环添加操作
- 深入Atlas系列:Web Sevices Access in Atlas示例(7) - 编写JavaScriptConverter处理含有循环引用的类型
- JavaScript For 循环
- javascript两个循环里的i,很容易忽略
- javascript实例--循环判断查询表单,构建SQL语句
- BLOG技巧:用Javascript为你的Blog做一个计数器
- JavaScript中的循环函数
- 深入Atlas系列:Web Sevices Access in Atlas示例(7) - 编写JavaScriptConverter处理含有循环引用的类型
- javascript下for循环用法小结
- javascript计数器
- javascript入门系列演示·流程控制之 判断、循环