Javascript 限制函数在指定时间后运行
我有这样的函数来生成随机颜色。每次单击将生成随机颜色。如果函数运行5次,我想显示一个警报。单击后,该功能将停止。如何做到这一点维护一个全局变量,例如countJavascript 限制函数在指定时间后运行,javascript,Javascript,我有这样的函数来生成随机颜色。每次单击将生成随机颜色。如果函数运行5次,我想显示一个警报。单击后,该功能将停止。如何做到这一点维护一个全局变量,例如count Fiddle:只有您必须使用的是计数器变量。 我已经更新了你的代码,这是JS代码 var count = 1; function randomColor(){ if(count >5){ return; } for(var i=0; i<1000; i++){ var random
Fiddle:只有您必须使用的是计数器变量。 我已经更新了你的代码,这是JS代码
var count = 1;
function randomColor(){
if(count >5){
return;
}
for(var i=0; i<1000; i++){
var randomColor ='#'+Math.random().toString(16).substr(2,6);
color.style.background=randomColor;
result.innerHTML="current color is"+randomColor;
}
count ++;
}
保留一个计数器以保持点击次数的变化,一旦超过限制,请删除点击属性,这样事件就不会再触发 使用change.removeAttribute'onclick';要删除,请单击事件 示例代码段: var change=document.getElementByIdchange; var color=document.getElementByIdcolor; var result=document.getElementByIdresult; var max_number_times=5; 风险值的次数=0; 函数变色{ change.addEventListenerclick,randomColor; } 函数随机颜色{ 如果次数小于最大次数{ 次数乘以++; 对于变量i=0;i<1000;i++{ var randomColor=+Math.random.toString 16.substr2,6; color.style.background=随机颜色; result.innerHTML=当前颜色为+随机颜色; } }否则{ 完成5次 change.removeAttribute'onclick'; } } 变色 Lorem ipsum dolor sit amet,奉献精英。哈伦,我是托塔姆·多洛雷姆·丘比特!这是一个建筑设计师的作品 出于架构的考虑,我们建议不要修改randomColor函数,而是添加另一个监视randomColor调用的函数
只是为了代码的优雅:保留一个计数器。例如:其他答案使用return false,您使用return。是否相同?是否要使用返回值如果是,则返回其他内容很有用空白返回就足够了。先生,您想看看我的JSFIDLE,它在第一次单击时不起作用。发生这种情况是因为您在changecolor中绑定了addEventListner,这意味着第一次单击事件不存在。如果你只是把事件侦听器放在这个函数之外,它会工作得很好。更新的小提琴:如果它对你有效,请选择答案。对不起,先生,我没有在你的url上看到你的更新代码。可能是地址错了吧?
var count = 1;
function randomColor(){
if(count >5){
return;
}
for(var i=0; i<1000; i++){
var randomColor ='#'+Math.random().toString(16).substr(2,6);
color.style.background=randomColor;
result.innerHTML="current color is"+randomColor;
}
count ++;
}
var change= document.getElementById("change");
var color= document.getElementById("color");
var result=document.getElementById("result");
function changecolor(){
change.addEventListener("click",randomColor());
}
var i=0;
function randomColor(){
if(i<5){
i++;
var randomColor ='#'+Math.random().toString(16).substr(2,6);
color.style.background=randomColor;
result.innerHTML="current color is"+randomColor;
}else{
alert('5 times run...');
}
}
function changecolor(){
change.addEventListener("click",monitor);
}
randomColor.calls = 0;
function monitor () {
randomColor.calls ++;
randomColor.calls <=5 && randomColor(...arguments);
}