首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jquery打开/关闭按钮

使用jquery打开/关闭按钮
EN

Stack Overflow用户
提问于 2012-06-29 02:29:37
回答 2查看 2.9K关注 0票数 0

我在Adobe Edge工作。我在舞台上有3个按钮: v1,v2,v3。当按钮被点击时,它们在时间线上移动。

单击按钮1时,它将在时间线上移动,并显示启用按钮2,禁用按钮1和3。

单击按钮2时,它将在时间线上移动,并显示启用按钮3,禁用按钮1和2。

单击按钮3时,它会在时间线上移动,并显示启用按钮1,禁用按钮2和3。

我尝试使用bind()和unbind(),它对第一个按钮有效。然而,由于它解除了第三个按钮的绑定,当我到达时间线上应该启用按钮3的位置时,它被禁用了。我试图在按钮2的单击事件中再次绑定按钮,但不起作用。我该怎么处理呢?

代码语言:javascript
复制
sym.$("v1").click(function() {
sym.play("p1"); 
sym.$("v1").unbind("click");
sym.$("v3").unbind("click");

});


sym.$("v2").click(function() {
sym.play("p2");
sym.$("v1").unbind("click");
sym.$("v2").unbind("click");
sym.$("v3").bind("click");

});


sym.$("v3").click(function() {
sym.play("p3"); 
sym.$("v1").bind("click");
sym.$("v2").unbind("click");
sym.$("v3").unbind("click");

});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-29 04:03:54

应该能行得通。祝好运

代码语言:javascript
复制
sym.$("v1").click(function() {
    func(1, 2);    
});    
sym.$("v2").click(function() {
    func(2, 3);    
});
sym.$("v3").click(function() {
    func(3, 1);    
});    

function func(i, next) {
    var nextnext = ((next+1)%3 == 0) ? 3 : (next+1)%3;

    sym.play("p"+i);

    sym.$("v1").unbind("click");
    sym.$("v2").unbind("click");
    sym.$("v3").unbind("click");
    sym.$("v"+ next).bind("click", function() { func(next, nextnext); }); 
}
票数 1
EN

Stack Overflow用户

发布于 2012-06-29 03:00:04

举个例子

代码语言:javascript
复制
sym.$("#v1, #v2, #v3").bind("click", myFunction);

function myFunction() {
    var id = sym.$(this).attr("id");
    var i  = id.substr(1,3);
    var next = ((i+1)%3 == 0) ? 3 : (i+1)%3;

    sym.play("p"+i);

    sym.$("#v1, #v2, #v3").unbind("click");
    sym.$("#v"+ next).bind("click", myFunction);   
}

已经核实过了

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11250779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档