【发布时间】:2013-11-14 00:50:47
【问题描述】:
我有一页上有许多具有相同类的 div。我希望他们有一个固定的高度,当点击一个切换按钮时,它会扩展到全高。到目前为止,我已经从互联网上组装了一个脚本,它可以做到这一点,但目前它会扩展页面上的所有 div,而不仅仅是与扩展按钮关联的一个 div。有人可以帮我修复脚本,使其仅扩展一个 div,如果扩展,可能会重置另一个,并在再次单击扩展按钮时将其切换回来?
jQuery(document).ready(function($) {
$.fn.toggleClick = function() {
var functions = arguments;
return this.click(function() {
var iteration = $(this).data('iteration') || 0;
functions[iteration].apply(this, arguments);
iteration = (iteration + 1) % functions.length;
$(this).data('iteration', iteration);
});
};
var $dscr = $(".textblock"),
$switch = $(".expand a"),
$initHeight = 130; // Initial height
$dscr.each(function() {
$.data(this, "realHeight", $(this).height()); // Create new property realHeight
}).css({ overflow: "hidden", height: $initHeight + 'px' });
$switch.toggleClick(function() {
$dscr.animate({ height: $dscr.data("realHeight") }, 300);
$switch.html("-");
}, function() {
$dscr.animate({ height: $initHeight}, 300);
$switch.html("+");
});
});
到目前为止,请参阅我的 jsfiddle 脚本: http://jsfiddle.net/N9DfH/1/
【问题讨论】:
-
最好通过添加 css 类来做到这一点。拥有一个具有高度的类,并在您想要正常大小时删除该类
标签: javascript jquery css html