我需要使用jQuery来了解我页面上的元素是否已经切换。
我有一个包含XXX元素的菜单。
当我点击一个元素时,我使用:$("#elementXX").slideToggle("slow");
(XX是一个数字)
如果我点击另一个元素,我需要知道一个元素是否已经切换,我需要先关闭这个元素才能滑动我的新元素。
我该怎么做?我无法通过id检查ID,如#element1,#element2,#element3等....
谢谢!
答案 0 :(得分:3)
您可以将数据属性设置为某个值,以了解它是否已切换。您可以在html中添加属性或直接使用脚本添加。
$("#elementXX").data("toggled", "true");
答案 1 :(得分:3)
您无需切换,slideUp
和slideDown
更适合您的方案。你可以这样做:
$("#clickedItem").click(function () {
var wasVisible = $("#elementXX").is(":visible");
$("[id^=element]:visible").stop().slideUp("slow");
if (!wasVisible) {
$("#elementXX").slideDown("slow");
}
});
答案 2 :(得分:1)
根据jQuery官方网站常见问题解答:
$("#toggleButton").click(function () {
if ($("#elementXX").is(":visible")) {
// toggled down
}
if ($("#elementXX").is(":hidden")) {
// toggled up
}
});
https://learn.jquery.com/using-jquery-core/faq/how-do-i-determine-the-state-of-a-toggled-element/