2

可怕的标题,但我很难说出我的问题。

我正在尝试制作几个框,只需单击一个按钮,所有这些框都会.slideToggle()显示大量信息。我的问题是每个框都应该有自己的按钮,因为它现在已经编码,无论我点击什么按钮,只有一个描述会展开和折叠。

我编写了以下 jQuery 代码:

$(document).ready(function() {
    $('#sponsor-description').hide();

    $('#sponsor .expand').click(function() {
         $('#sponsor-description').slideToggle('slow');
    });
});

您可以在网站上亲自试用(单击橙色的“展开”按钮):http ://dacc.fredrixdesign.com/sponsors/ 。

当我单击“扩展”按钮之一时,我将如何使相应的描述向下滑动?我想$(this)在某种程度上可能会有所帮助,但我不确定。谢谢!

4

1 回答 1

3

#sponsor-description 是一个 ID。你真的在滥用身份证。对于每个元素,它们必须是唯一的。我建议要么使用唯一的 id,要么使用 css 类中更好的选择器。

现在,您使用赞助商描述作为每个描述元素的 id,这就是您的代码失败的原因。

我不知道 Wordpress,但是如果您可以将所有这些 id 属性更改为类,那么您将是黄金。假设您可以更改它们,您的代码将是:

$('.sponsor .expand').click(function() {
     $(this).parents('.sponsor').children('.sponsor-description').slideToggle('slow');
});
于 2013-03-06T22:46:20.427 回答