【发布时间】:2011-10-01 09:41:02
【问题描述】:
我有以下代码。
我想知道是否有一种方法可以检测面板是否已打开,如果是,则在打开另一个面板之前自动将其关闭?当用户单击按钮时,应该会发生这种检测。
我尝试在每个面板功能中添加一个“隐藏”功能,但它没有按预期工作。这是我当前的代码:
$(function() {
$("#panel-2-button").click(function() {
$("#content-inner-panel-2").toggle("slide", { direction: "left" }, 1000);
});
$("#panel-2-button-medium").click(function() {
$("#content-inner-panel-2-medium").toggle("slide", { direction: "left" }, 1000);
});
$("#panel-2-button-large").click(function() {
$("#content-inner-panel-2-large").toggle("slide", { direction: "left" }, 1000);
});
$("#panel-3-button").click(function() {
$("#content-inner-panel-3").toggle("slide", { direction: "left" }, 1000);
});
$("#panel-3-button-medium").click(function() {
$("#content-inner-panel-3-medium").toggle("slide", { direction: "left" }, 1000);
});
$("#panel-3-button-large").click(function() {
$("#content-inner-panel-3-large").toggle("slide", { direction: "left" }, 1000);
});
$("#panel-2-close").click(function() {
$("#content-inner-panel-2").hide("slide", { direction: "left" }, 1000);
});
$("#panel-2-close-medium").click(function() {
$("#content-inner-panel-2-medium").hide("slide", { direction: "left" }, 1000);
});
$("#panel-2-close-large").click(function() {
$("#content-inner-panel-2-large").hide("slide", { direction: "left" }, 1000);
});
$("#panel-3-close").click(function() {
$("#content-inner-panel-3").hide("slide", { direction: "left" }, 1000);
});
$("#panel-3-close-medium").click(function() {
$("#content-inner-panel-3-medium").hide("slide", { direction: "left" }, 1000);
});
$("#panel-3-close-large").click(function() {
$("#content-inner-panel-3-large").hide("slide", { direction: "left" }, 1000);
});
});
希望有人可以提供帮助。 扎克
【问题讨论】:
-
您可以通过对您的 ID 使用一些约定来大大减少代码量。看看this example,通过稍微更改您的 ID,您可以将前 6 个事件处理程序替换为 1。
标签: jquery user-interface toggle jquery-animate