我需要使用 jQuery 来了解我页面上的元素是否已经切换。
我有一个包含 XXX 元素的菜单。
当我点击一个元素时,我使用:$("#elementXX").slideToggle("slow");
(XX 是一个数字)
如果我点击另一个元素,我需要知道一个元素是否已经切换,并且我需要先关闭这个元素才能滑动切换我的新元素。
我怎样才能做到这一点 ?我不能像 #element1、#element2、#element3 等那样按 id 检查 id。
谢谢 !
您不需要切换,slideUp
并且slideDown
更适合您的场景。你可以简单地做:
$("#clickedItem").click(function () {
var wasVisible = $("#elementXX").is(":visible");
$("[id^=element]:visible").stop().slideUp("slow");
if (!wasVisible) {
$("#elementXX").slideDown("slow");
}
});
您可以将数据属性设置为某个值以了解它是否已切换。您可以在html中添加属性或使用脚本直接添加。
$("#elementXX").data("toggled", "true");
根据jQuery官网FAQ:
$("#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/