代表两个点击事件. 我点击"stop"后执行函数体,大概需要2秒钟左右完成.
在此2秒钟期间我希望点击"play"时的函数体不执行,
简单言之,就是让这个"play"的点击事件失效2秒钟左右.
等待"stop"的函数体执行完后,"play"的点击事件恢复.
4 个解决方案
#1
var isStop=true;
function stop(){
isStop=false
//stop函数体,执行完毕记得设置isStop=true
}
function start(){
if(!isStop)return;//////
//.......
}
Web开发学习资料推荐
jQuery仿excel表格单元格合并插件
jqGrid行编辑配置
#2
<div id="play" style="background-color: #099; width: 50px;">play</div>
<div id="stop" style="background-color: #900; width: 50px;">stop</div>
<script type="text/javascript">
var flag = true;
var dplay = document.getElementById("play");
var dstop = document.getElementById("stop");
dplay.onclick = function () {
if (!flag) return;
alert("click play");
}
dstop.onclick = function () {
if (!flag) return;
alert("click stop");
flag = false;
dplay.style.backgroundColor = "#999";
dstop.style.backgroundColor = "#999";
setTimeout(function(){//这个最好是用你操作执行完成的回调函数,而不是固定的2秒时间
flag = true;
dplay.style.backgroundColor = "#099";
dstop.style.backgroundColor = "#900";
}, 2000);
}
</script>
#3
#4
谢谢大佬们,问题已经解决
#1
var isStop=true;
function stop(){
isStop=false
//stop函数体,执行完毕记得设置isStop=true
}
function start(){
if(!isStop)return;//////
//.......
}
Web开发学习资料推荐
jQuery仿excel表格单元格合并插件
jqGrid行编辑配置
#2
<div id="play" style="background-color: #099; width: 50px;">play</div>
<div id="stop" style="background-color: #900; width: 50px;">stop</div>
<script type="text/javascript">
var flag = true;
var dplay = document.getElementById("play");
var dstop = document.getElementById("stop");
dplay.onclick = function () {
if (!flag) return;
alert("click play");
}
dstop.onclick = function () {
if (!flag) return;
alert("click stop");
flag = false;
dplay.style.backgroundColor = "#999";
dstop.style.backgroundColor = "#999";
setTimeout(function(){//这个最好是用你操作执行完成的回调函数,而不是固定的2秒时间
flag = true;
dplay.style.backgroundColor = "#099";
dstop.style.backgroundColor = "#900";
}, 2000);
}
</script>
#3
#4
谢谢大佬们,问题已经解决