【发布时间】:2012-10-30 18:47:42
【问题描述】:
我已经查看了十几个关于使用onclick、click、bind("click", ...)、on("click", ...) 等的问题,但还没有找到我遇到的问题。
基本上它是一个可展开的 div,在未展开时会隐藏一些内容。我正在使用带有数据切换按钮的 Twitter Bootstrap collapse 类来展开/折叠内容本身,但我还需要修改容器 div 的 CSS 以增加高度,以便在视觉上显示内容为in 将拉伸以包含它。
这是我的脚本代码:
$(document).ready(function() {
$("#expand-button").bind('click', expandClick($));
document.getElementById("#expand-button").bind("click", expandClick($));
});
function expandClick($) {
$("#outer-container").animate({ "height": "350" }, 500);
$("#expand-button").html("^");
$("#expand-button").bind("click", collapseClick($));
};
function collapseClick($) {
$("#outer-container").animate({ "height": "50" }, 500);
$("#expand-button").html("V");
$("#expand-button").bind("click", expandClick($));
}
这个想法很简单,处理程序根据按钮的状态旋转进出。实际发生的情况是,一旦我加载页面,expandClick 函数就会立即执行,这会引发我的容器在没有任何点击的情况下上下弹跳的无限循环。
有什么想法吗?
另外,我认为它不应该是相关的,但 HTML 看起来像:
<div id="outer-container" class="container-fluid subsession-collapsed">
<div class="row-fluid" style="height: 50px">
<!-- OTHER STUFF... -->
<div class="span1" id="4">
<button id="expand-button" class="btn-success" data-toggle="collapse" data-target="#expandable">V</button>
</div>
</div>
<br /><br />
<div id="expandable" class="row-fluid collapse">
<div class="span12" style="padding: 0 20px">
<!-- CONTENT -->
</div>
</div>
</div>
编辑:
我曾经尝试寻找解决方案的一个 SO 主题是 this one,但所有回复都给出了相同的结果。
【问题讨论】: