如何使这个Javascript以不同的方式出现
How to make this Javascript appear in a different way?
所以我想做的是用不同的方式显示下面的代码。例如,当它说0.135731974时,我希望它真的说13.5731974%,但仍然以同样的速度计算。如果你知道我的意思,你能告诉我怎么做吗!
这是代码:
<script>
var timer;
var stop;
function startCount()
{
stop = false;
timer = setInterval(count,1);
}
function stopCount()
{
stop = true;
}
function count()
{
if(stop == false)
{
var el = document.getElementById('counter');
var currentNumber = parseFloat(el.innerHTML);
el.innerHTML = currentNumber+0.00000003831417624521;
}
}
</script>
</head>
<body>
<div id="counter">0</div>
<input type="button" value="reset" id="reset" onclick="document.getElementById('counter').innerHTML = 0;" />
<input type="button" value="start" id="start" onclick="startCount();" />
<input type="button" value="stop" id="stop" onclick="stopCount();" />
</body>
</html>
将count()
函数更改为:
var currentNumber = 0;
function count() {
if (!stop) {
var el = document.getElementById('counter');
currentNumber += 0.00000003831417624521;
el.innerHTML = (currentNumber * 100) + "%";
}
}
只将currentNumber
保存在一个变量中,而不是每次都从HTML中解析它,这会更容易、更高效,尤其是在将其格式化为百分比值之后。
此外,你的stopCount()
功能需要这样,这样你就不会同时运行多个定时器:
function stopCount() {
stop = true;
clearInterval(timer);
}
整个代码块可以简化并清理为:
<html>
<head>
<script>
var timer, currentNumber = 0;
function startCount() {
if (!timer) {
timer = setInterval(count, 100);
}
}
function stopCount() {
if (timer) {
clearInterval(timer);
timer = null;
}
}
function count() {
var el = document.getElementById('counter');
currentNumber += 0.00000003831417624521;
el.innerHTML = (currentNumber * 100) + "%";
}
function reset() {
currentNumber = 0;
document.getElementById('counter').innerHTML = "0";
}
</script>
</head>
<body>
<div id="counter">0</div>
<input type="button" value="reset" id="reset" onclick="reset()" />
<input type="button" value="start" id="start" onclick="startCount();" />
<input type="button" value="stop" id="stop" onclick="stopCount();" />
</body>
</html>
将%
直接放入HTML中,并将增量值增加100倍:
<div><span id="counter">0</span>%</div>
el.innerHTML = currentNumber + 0.000003831417624521;
http://jsfiddle.net/gilly3/MJJkq/
相关文章:
- Loader出现时使我的页面褪色
- 有没有办法使这段代码更短
- 如何使这参考我点击的对象Javascript
- CSS 和 JavaScript 以内联方式出现在源代码中
- 如何使这条线加粗
- 通过弹出窗口使网页上的每个单词都可以点击
- 在JavaScript中的类中,push和concat的工作方式有何不同
- 如何使这三个部分具有视差滚动
- RegEx在VBA和JavaScript中的处理方式有何不同?
- 是否有一种方法使这段代码的变量
- 打开一个新的窗口,而浏览器没有给出警告,这是一个弹出
- 如何在点击链接时显示一个平滑的弹出框,这是通过Ajax加载的
- 我正试图找出如何使我的功能一个接一个地运行.但这并没有奏效
- 对Javascript非常陌生.我怎样才能使这段代码可扩展/更干净
- 如何使这个数组在参数列表中工作,就像匿名属性一样
- 我如何使这段代码工作自定义'Facebook Like Box'
- jQuery插件(气泡弹出):如何使它不污染我的文档主体与不可移动的垃圾
- 如何使这段代码更清晰
- 我怎样才能使这段代码只平滑滚动我想要的元素
- 如何使这两个javascript代码协同工作