我对javascript并不是很熟悉,但我已经玩了足够的东西来使用我在this site找到的脚本来实现这一目标。
<script>
function updateClock ( ) {
var sd = Math.round(new Date().getTime() * 0.0000067322371075102 );
document.getElementById("stardate").firstChild.nodeValue = sd;
}
</script>
<body onload="updateClock(); setInterval('updateClock()', 1000 )">
<span id="stardate"> </span>
</body>
输出是一个非常接近目前Star Trek Online中使用的标准计算的数字。但是,该数字应该有小数点左移2个位置。在我的等式中添加和删除零会缩短或延长我的计数,但我需要一个小数,我完全不知道如何才能实现这一点。
有没有人对我有所了解?
答案 0 :(得分:1)
或者:
var sd = ...
var dotted = (sd+"").replace(/..$/,'.$&');
或者:
var sd = ...
var dotted = (sd/100).toFixed(2);
一些建议:
在HTML中混合JavaScript不是一个好主意;而不是将JavaScript放在HTML属性中,以编程方式附加您的处理程序。例如:
<!-- in the <head> -->
<script type="text/javascript">
window.addEventListener('load',function(){
// this code will run once the page has loaded
},false);
</script>
<!-- or alternatively right before </body> put -->
<script type="text/javascript">
// this code will run once all elements have been created
</script>
setInterval
可以将函数值作为参考。而不是写:
// this creates a new anonymous function that invokes foo()
// similar to using new Function("foo()")
setInterval("foo()",1000);
...更好地做到这一点:
setInterval(foo,1000); // Functionally equivalent, less typing