我在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");
});发布于 2012-06-29 04:03:54
应该能行得通。祝好运
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); });
}发布于 2012-06-29 03:00:04
举个例子
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);
}已经核实过了
https://stackoverflow.com/questions/11250779
复制相似问题