0

我的基本设置是使用.slideDown().hide()创建手风琴效果。我有一个“切换” div,它是按钮或点击.slideDown()它下面的元素,默认情况下它是隐藏的,使用$(this).next().slideDown();

我在 if 语句中执行此操作:if($(this).next().is(":hidden")) {Do this};,这使我基本上可以一遍又一遍地使用相同的 div,所有这些都由单个脚本块控制。这些 div 垂直堆叠:toggle div > hidden div > toggle div > hidden div 等等。

我想要做的是.hide()点击的“切换” div 上方的 div,该 div 之前是隐藏的,并且一直是.slideDown(). 并且现在可见。

我尝试使用if($(this).closest('.hidden').is(':visible')) {Do this};,其中 'hidden' 是相关元素的选择器,用于定位该元素,然后.hide()它没有成功。

我已经阅读了.closest(),这就是为什么我尝试将它用于此目的。我也尝试直接定位 div,但是对于同一个 div 的多个实例,我需要区分哪个 div 相对于被单击的 div。

这是我正在进行的项目:http: //www.jeremiahdesign.com/GD491/weekSix/portfolio/index.html

这是一个班级项目。Anyinsight 将不胜感激。

4

2 回答 2

0

看看 jQuery .prev()

 $(this).prev().slideUp()
于 2012-09-10T17:24:29.497 回答
0

如果我很好理解,您可以使用以下说明获取您想要的确切 div:

$(this).prevAll("div.ex-link")

这允许您获取您打开的上一个链接

于 2012-09-10T17:26:32.540 回答