我刚开始使用 jQuery,真的只需要一些非常基本的东西。这是我正在尝试做的事情:
我将内容分为“.overview” div 和“.detail” div。jQuery 浏览所有“.detail”-div,向上移动一个元素 (.prev(".overview")) 并附加一个按钮。然后它将所有“.detail” div 缩小为零,并使用按钮分别显示/隐藏它们。
我首先对按钮进行了硬编码,但这似乎很乏味且没有必要。但是一旦我动态生成它们,显示/隐藏功能就不再起作用了。我四处搜索,但我可能没有使用正确的术语...
这是我的html:
<div class="title">
<h2>Title</h2>
</div>
<div class="overview">
<p>...</p>
</div>
<div class="detail">
<p>...</p>
</div>
这是 jQuery 代码(在一个单独的文件中):
$(document).ready(function() {
$(".detail").each(function() {
$(this).prev("div").append("<div class=\"expand\"><a href=#>more</a></div>");
$.data(this, "realHeight", $(this).height());
}).css({ overflow: "hidden", height: "0" });
$(".expand").toggle(function() {
$(this).html("<a href=#>less</a>")
var div = $(this).next(".detail")
div.animate({ height: div.data("realHeight")+21 }, 250);
}, function() {
$(this).html("<a href=#>more</a>")
$(this).next(".detail").animate({ height: 0 }, 250);
});
});
如果您能指出正确的方向,我将不胜感激。或者,如果它是一个愚蠢的,只要告诉我我需要搜索什么。:-)
谢谢!