jquery如何click事件时候 ,让某个函数暂停或终止?

假设我现在运行了一个function:$("p").demo();我点击按钮A的时候,希望这个demo()的函数不起作用或者终止,然后点击按钮B,demo()又开始运行,... 假设我现在运行了一个function:
$("p").demo();

我点击按钮A的时候,希望这个demo()的函数不起作用或者终止,然后点击按钮B,demo()又开始运行,或者起作用。
求好心人指点~~~~麻烦用下面的格式告诉我怎么做或者给个思路 感谢~~~
$("p").demo();
buttonA.click(function() {

});
buttonB.click(function() {

});
展开
 我来答
长城郭靖
推荐于2016-06-29 · TA获得超过729个赞
知道小有建树答主
回答量:1090
采纳率:47%
帮助的人:395万
展开全部

setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。clearTimeout。


setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。


现在又多了一个requestanimationframe可用


以setTimeout为例,

var i=0,timer;
function add(){
i++;
console.log(i);
timer=setTimeout('add()',1000);
}
buttonA.onclick=function(){
clearTimeout(timer);
}
buttonB.onclick=add;


又或者题主想要这样的

var i=0,bool=true;
function add(){
if(bool){
i++;
console.log(i);
}else{
return false;
}
}
buttonA.onclick=function(){
bool=false;
}
buttonB.onclick=function(){
bool=true;
}
dksnear
推荐于2018-02-26 · TA获得超过1211个赞
知道小有建树答主
回答量:399
采纳率:0%
帮助的人:621万
展开全部
// 设置一个允许标记
var allowDemoRun = true;
var oldDemo = $.prototype.demo;
// 重写jQuery类的demo方法
$.prototype.demo = function(){
    // 假如标记为false就不允许执行
    if(!allowDemoRun) return;
    // 调用jQuery类原来的demo方法
    oldDemo&&oldDemo.apply(this,arguments);
}
$("p").demo();
buttonA.click(function() {
    
        allowDemoRun = false;
    
});
buttonB.click(function() {
     allowDemoRun = true;
});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sunyankui765
2015-04-19
知道答主
回答量:21
采纳率:0%
帮助的人:7万
展开全部
停止是不可能的,只能解绑click
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
圣鸾OJ
2015-10-04 · TA获得超过1629个赞
知道小有建树答主
回答量:1136
采纳率:96%
帮助的人:113万
展开全部
setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。clearTimeout。

setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

现在又多了一个requestanimationframe可用

以setTimeout为例,

1
2
3
4
5
6
7
8
9
10

var i=0,timer;
function add(){
i++;
console.log(i);
timer=setTimeout('add()',1000);
}
buttonA.onclick=function(){
clearTimeout(timer);
}
buttonB.onclick=add;

又或者题主想要这样的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

var i=0,bool=true;
function add(){
if(bool){
i++;
console.log(i);
}else{
return false;
}
}
buttonA.onclick=function(){
bool=false;
}
buttonB.onclick=function(){
bool=true;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式