手风琴中重置项目高度是't正确复位

Reset Item Height in accordion isn't resetting properly

本文关键字:复位 项目 高度 手风琴      更新时间:2023-09-26

编辑:这个问题解决了。事实证明,这与css中的线高度有关,而与js无关。

小提琴:http://jsfiddle.net/ruwjn/7/

现场:http://imip.rvadv.com/index3.html

它似乎不是在幕后做这件事,但它是在现场做的。当我点击手风琴菜单项时,它会正常打开。当我第二次点击同一个项目时,它应该会关闭并回到以前的样子。然而,事情并不是这样发生的。当我第二次点击它时,它会关闭,但在手风琴菜单链接之间留下了额外的空间。

我对js了解不多,但我认为它可能与这一点有关:

$(window).bind('smartresize.accordion', function( event ) {
            // reset orinal item values
            instance._saveDimValues();
            // reset the content's height of any item that is currently opened
            instance.$el.find('li.st-open').each( function() {
                var $this   = $(this);
                $this.css( 'height', $this.data( 'originalHeight' ) + $this.find('div.st-content').outerHeight( true ) );

            });
            // scroll to current
            if( instance._isOpened() )
            instance._scroll();
        });

如果你必须解释关于js的任何事情,请尽可能简单地解释。我对此知之甚少。

这肯定是一个非常奇怪的问题。发生的情况是,第二个列表项上的h2长度刚好足以导致换行,由于某种原因,只有在手风琴关闭后才会计算/显示换行。您可以通过将里面的文本缩短为几个字母来亲眼看到这一点。它下面的li也发生了这种情况,但由于它是最后一个项目,所以您无法判断。

要解决此问题,只需将其添加到样式表中的h2{}中即可:

white-space:nowrap;

这样就可以了。