手风琴的重置项目高度未正确重置

时间:2012-07-13 01:36:15

标签: javascript jquery accordion jquery-ui-accordion

修改 这解决了。事实证明它与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的任何内容,请尽可能简单地说明。我对此知之甚少。

1 个答案:

答案 0 :(得分:1)

这肯定是一个非常奇怪的。发生的事情是,第二个列表项上的 h2 足以导致换行,由于某种原因,只有在手风琴关闭后才会计算/显示。您可以通过将内部文本缩短为几个字母来自行查看。它也发生在它下方的 li ,但是你无法分辨,因为它是最后一项。

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

white-space:nowrap;

应该这样做。