我有以下代码来打开和关闭两个单独的div,它们工作正常。然而,我想要实现的是,如果一次潜水打开,我点击打开另一个打开关闭,反之亦然。有人能指出我正确的方向。
$(document).ready(function(e) {
var menuopen = false;
$("#searching").click(function(e) {
if (menuopen == false) {
$("#search").animate({
top: "111px"
}, 1000)
menuopen = true;
}
else if (menuopen == true) {
$("#search").animate({
top: "-110px"
}, 1000)
menuopen = false
}
});
$("#navigation").click(function(e) {
if (menuopen == false) {
$("#menu").animate({
top: "111px"
}, 1000)
menuopen = true;
}
else if (menuopen == true) {
$("#menu").animate({
top: "-410px"
}, 1000)
menuopen = false
}
});
});
答案 0 :(得分:0)
这是一个如何工作的概念,也适用于双击等:
在调用动画之前,您需要设置一个标志,表示动画正在进行中。
如果设置了此标志,则立即返回,不要调用动画。
在动画调用中添加一个回调函数(例如complete),重置标志,以便菜单再次负责。
以某种方式跟踪菜单的状态(变量或类别,表示无论如何需要造型时的状态),以便您知道哪一个必须关闭或打开。
因此,您可以创建一个函数menuSelected
并从所有菜单点击功能中调用它。
您可以在每次点击时切换,当点击一个菜单时,也会点击另一个菜单,但这很危险,例如如果您一次点击几次,事件可能会叠加,您将看到菜单打开和关闭几次。
答案 1 :(得分:0)
你想要“切换”两个工作动画......
基于此,您可以尝试:
for i := 1 to Application.comaddins.Count do
begin
if (Application.comaddins[i].Name = addInReference) then
begin
Application.comaddins[i].installed := false;
Application.comaddins[i].installed := true;
end;
end;