【发布时间】:2016-01-23 22:55:52
【问题描述】:
我有下面的代码将任何点击的手风琴面板移动到页面顶部。但是,我默认打开了一些手风琴面板,我不希望打开的面板在有人关闭它们时动画。因此,我希望“滚动到顶部”代码仅适用于封闭面板。所以我想我需要在某种“if 语句”中检测打开/关闭状态。知道如何做到这一点吗?
<div id="accordion">
<!--Open panel by default-->
<h3 class="accordion">Question</h3>
<div class="content">
<p>text</p>
</div>
<!--Closed panel-->
<h3 class="accordion">Question</h3>
<div class="content">
<p>text</p>
</div>
</div>
<script>
jQuery(function() {
var defaultPanel = parseInt(getParamFirst('section'));
jQuery( "#accordion" ).accordion(
{active: defaultPanel,
autoHeight: false,
collapsible: true,
heightStyle: "content",
animate: 200}
).show();
});
//////////////////////////////////////////////////
//Fire the below code only on closed panels
//////////////////////////////////////////////////
jQuery('.accordion').bind('click',function(){
var self = this;
setTimeout(function() {
theOffset = jQuery(self).offset();
jQuery('body,html').animate({ scrollTop: theOffset.top - 110 });
}, 200);
});
</script>
【问题讨论】:
标签: javascript jquery jquery-ui accordion