Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript函数中设置计数器?_Javascript - Fatal编程技术网

在JavaScript函数中设置计数器?

在JavaScript函数中设置计数器?,javascript,Javascript,嘿,新到这个网站和javaScript的朋友们,我正在尝试添加一个计数器,用于计算用户单击按钮之前背景颜色改变了多少次,以及输出用户单击按钮之前颜色改变了多少次。我已经看到了很多计数器在那里,但没有像我所寻找的,我的代码如下,任何建议都将是伟大的 谢谢大家 另外,我的代码在IE中不起作用,我一直在使用Fire fox 更新:我还需要做一些事情: •计算在用户单击“我喜欢这种颜色”之前显示的颜色数 o创建一个计数器作为全局作用域(在函数外部) o递增changeColor()函数中的计数器 o当用

嘿,新到这个网站和javaScript的朋友们,我正在尝试添加一个计数器,用于计算用户单击按钮之前背景颜色改变了多少次,以及输出用户单击按钮之前颜色改变了多少次。我已经看到了很多计数器在那里,但没有像我所寻找的,我的代码如下,任何建议都将是伟大的

谢谢大家

另外,我的代码在IE中不起作用,我一直在使用Fire fox

更新:我还需要做一些事情:

•计算在用户单击“我喜欢这种颜色”之前显示的颜色数 o创建一个计数器作为全局作用域(在函数外部) o递增changeColor()函数中的计数器 o当用户单击“我喜欢这个颜色”按钮时,使用本地存储来存储计数 •从本地存储读取 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)
:-)