使用jquery打开/关闭按钮

时间:2012-06-28 18:29:37

标签: jquery adobe-edge

我在Adobe Edge工作。 我在舞台上有3个按钮:v1,v2,v3。 单击按钮时,它们会在时间轴上移动。

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

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

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

我尝试使用bind()和unbind(),它适用于第一个按钮。但是,由于它取消绑定第三个按钮,当我到达时间轴上应该启用按钮3的位置时,它被禁用。我试图在按钮2的单击事件中再次绑定按钮但是不起作用。我该怎么办呢?

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");

});

2 个答案:

答案 0 :(得分:1)

它应该有用。祝你好运

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 :(得分:0)

只是示例

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);   
}

已经过验证