在JavaScript函数中设置计数器?
嘿,新到这个网站和javaScript的朋友们,我正在尝试添加一个计数器,用于计算用户单击按钮之前背景颜色改变了多少次,以及输出用户单击按钮之前颜色改变了多少次。我已经看到了很多计数器在那里,但没有像我所寻找的,我的代码如下,任何建议都将是伟大的 谢谢大家 另外,我的代码在IE中不起作用,我一直在使用Fire fox 更新:我还需要做一些事情: •计算在用户单击“我喜欢这种颜色”之前显示的颜色数 o创建一个计数器作为全局作用域(在函数外部) o递增changeColor()函数中的计数器 o当用户单击“我喜欢这个颜色”按钮时,使用本地存储来存储计数 •从本地存储读取 o文档开始时,访问在上述步骤中保存的计数。如果没有任何数据,则这是第一次访问网站,因此无需显示计数 我已将代码更新为下面给出的答案在JavaScript函数中设置计数器?,javascript,Javascript,嘿,新到这个网站和javaScript的朋友们,我正在尝试添加一个计数器,用于计算用户单击按钮之前背景颜色改变了多少次,以及输出用户单击按钮之前颜色改变了多少次。我已经看到了很多计数器在那里,但没有像我所寻找的,我的代码如下,任何建议都将是伟大的 谢谢大家 另外,我的代码在IE中不起作用,我一直在使用Fire fox 更新:我还需要做一些事情: •计算在用户单击“我喜欢这种颜色”之前显示的颜色数 o创建一个计数器作为全局作用域(在函数外部) o递增changeColor()函数中的计数器 o当用
<script type="text/javascript">
var count = 0;
var interval;
function getRandom(num){
return Math.floor(Math.random()*num);
}
function changeColor(){
count ++;
var num1 = getRandom(255);
var num2 = getRandom(255);
var num3 = getRandom(255);
var col = "rgb("+num1+","+num2+","+num3+")";
var div = document.getElementById( 'myDiv' );
div.style.background = col;
}
function stop() {
clearInterval(interval);
alert('The background color has changed ' + count + ' times before you clicked me!');
}
interval = setInterval("changeColor()", 2000);
</script>
<style type="text/css">
.Div {
position:absolute;
width: 800px;
height: 100px;
z-index: 15;
top: 50%;
left: 15%;
background: red;
}
</style>
</head>
<body onLoad="setInterval()">
<div id="myDiv" class="Div">
<input type="button" onClick="stop()", value="I like this color" align="absmiddle">
</div>
</body>
</html>
var计数=0;
var区间;
函数getRandom(num){
返回Math.floor(Math.random()*num);
}
函数changeColor(){
计数++;
var num1=getRandom(255);
var num2=getRandom(255);
var num3=getRandom(255);
var col=“rgb”(“+num1+”、“+num2+”、“+num3+”);
var div=document.getElementById('myDiv');
div.style.background=col;
}
函数停止(){
间隔时间;
警报('在单击我之前,背景颜色已更改'+count+'次!');
}
间隔=设置间隔(“changeColor()”,2000);
.分区{
位置:绝对位置;
宽度:800px;
高度:100px;
z指数:15;
最高:50%;
左:15%;
背景:红色;
}
试试这个:
<script type="text/javascript">
var count = 0;
var interval;
function getRandom(num){
return Math.floor(Math.random()*num);
}
function changeColor(){
count ++;
var num1 = getRandom(255);
var num2 = getRandom(255);
var num3 = getRandom(255);
var col = "rgb("+num1+","+num2+","+num3+")";
var div = document.getElementById( 'myDiv' );
div.style.background = col;
}
function stop() {
clearInterval(interval);
alert('The background color has changed ' + count + ' times before you clicked me!');
}
interval = setInterval("changeColor()", 2000);
</script>
<div id="myDiv">
<input type="button" onClick="stop()", value="I like this color" align="absmiddle">
</div>
var计数=0;
var区间;
函数getRandom(num){
返回Math.floor(Math.random()*num);
}
函数changeColor(){
计数++;
var num1=getRandom(255);
var num2=getRandom(255);
var num3=getRandom(255);
var col=“rgb”(“+num1+”、“+num2+”、“+num3+”);
var div=document.getElementById('myDiv');
div.style.background=col;
}
函数停止(){
间隔时间;
警报('在单击我之前,背景颜色已更改'+count+'次!');
}
间隔=设置间隔(“changeColor()”,2000);
getRandom函数将返回从0
到num-1
的值。如果您想要完整的值范围,您需要将其传递256或使用Math.floor(Math.random()*++num)
。通常您不应该更新帖子来添加新问题。如果你原来的问题已经被回答了,请考虑把这个答案标记为接受(并且当你有足够的代表来投票)。你可能会发布一个新问题(等等)。抱歉,新到这个网站,所有这些都会发布一个我即将忘记的新问题:你也应该表现出一些努力(你写的代码,你尝试过的,你做过的搜索),试着解释你的期望和发生的事情。像“我必须做这个和那个。你能告诉我如何/为我写一些代码吗?”这样的问题经常被关闭/否决,你不会得到任何答案。顺便说一句,欢迎来到SO!!!:)将字符串传递给setInterval被认为是糟糕的形式,因为它将调用函数构造函数将字符串包装到函数中。只需传递对函数的引用:setInterval(changeColor,2000)
:-)