我需要用jQuery来知道我的页面上的某个元素是否已经切换。jQuery,检测一个元素是否已经切换
我有一个XXX元素的菜单。
当我点击一个元素,我使用:$("#elementXX").slideToggle("slow");
(XX是一个数字)
如果我在另一元件上点击,我需要知道,如果一个元素已经切换了,我需要关闭这个元素之前滑动切换我的新元素。
我该怎么做?我不能通过像#element1,#element2,#element3等id这样的id来检查id ...
谢谢!
我需要用jQuery来知道我的页面上的某个元素是否已经切换。jQuery,检测一个元素是否已经切换
我有一个XXX元素的菜单。
当我点击一个元素,我使用:$("#elementXX").slideToggle("slow");
(XX是一个数字)
如果我在另一元件上点击,我需要知道,如果一个元素已经切换了,我需要关闭这个元素之前滑动切换我的新元素。
我该怎么做?我不能通过像#element1,#element2,#element3等id这样的id来检查id ...
谢谢!
你不需要切换,slideUp
和slideDown
是为您的方案更加适合。您可以简单地执行:
$("#clickedItem").click(function() {
var wasVisible = $("#elementXX").is(":visible");
$("[id^=element]:visible").stop().slideUp("slow");
if (!wasVisible) {
$("#elementXX").slideDown("slow");
}
});
您可能需要'.stop()。slideUp()',以防元素在前一个事件的动画中被捕获。 – 2013-03-12 10:00:52
@甜菜根 - 甜菜根好喊,补充:) – mattytommo 2013-03-12 10:01:22
是的,但有了这个解决方案,我不能关闭我的元素,当我reclick – 2013-03-12 10:04:21
您可以将数据属性设置为某个值以确定是否切换。您可以在HTML中添加属性或直接使用脚本添加。
$("#elementXX").data("toggled", "true");
我会建议添加一个数据切换的属性元素,为可搜索性。 – Rodik 2013-03-12 09:48:08
您可以无条件地''.slideUp()'元素,而无需测试其当前状态。 – 2013-03-12 09:48:51