7

我需要使用 jQuery 来了解我页面上的元素是否已经切换。

我有一个包含 XXX 元素的菜单。

当我点击一个元素时,我使用:$("#elementXX").slideToggle("slow");(XX 是一个数字)

如果我点击另一个元素,我需要知道一个元素是否已经切换,并且我需要先关闭这个元素才能滑动切换我的新元素。

我怎样才能做到这一点 ?我不能像 #element1、#element2、#element3 等那样按 id 检查 id。

谢谢 !

4

3 回答 3

4

您不需要切换,slideUp并且slideDown更适合您的场景。你可以简单地做:

$("#clickedItem").click(function () {
    var wasVisible = $("#elementXX").is(":visible");
    $("[id^=element]:visible").stop().slideUp("slow");
    if (!wasVisible) {
        $("#elementXX").slideDown("slow");
    }
});
于 2013-03-12T09:56:32.610 回答
3

您可以将数据属性设置为某个值以了解它是否已切换。您可以在html中添加属性或使用脚本直接添加。

$("#elementXX").data("toggled", "true"); 
于 2013-03-12T09:47:17.293 回答
3

根据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/

于 2018-03-27T11:01:01.920 回答