jQuery UI - 手风琴显示问题

时间:2010-06-16 16:28:06

标签: javascript css jquery-ui

我的手风琴正常工作,但我遇到了一个JS问题,禁止它正确显示。

http://jsfiddle.net/frEWQ/4/

  1. JS没有将.ui-corners-all应用到H3之后,它下面的“kwick”div已经完成了折叠,在动画之后给出了一个奇怪的截止边界
  2. 有什么建议吗?

    由于

            // find elements to show and hide
        var toShow = clicked.next(),
            toHide = this.active.next(),
            data = {
                options: o,
                newHeader: clickedIsActive && o.collapsible ? $([]) : clicked,
                oldHeader: this.active,
                newContent: clickedIsActive && o.collapsible ? $([]) : toShow,
                oldContent: toHide
            },
            down = this.headers.index( this.active[0] ) > this.headers.index( clicked[0] );
    
        this.active = clickedIsActive ? $([]) : clicked;
        this._toggle(toShow, toHide, data, clickedIsActive, down);
    
        // switch classes
        this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all")
            .find(".ui-icon").removeClass(o.icons.headerSelected).addClass(o.icons.header);
        if (!clickedIsActive) {
            clicked.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top")
                .find(".ui-icon").removeClass(o.icons.header).addClass(o.icons.headerSelected);
            clicked.next().addClass('ui-accordion-content-active');
        }
    
        return;
    

1 个答案:

答案 0 :(得分:1)

更新: 你可以修改源代码,但这通常不是一个好主意。

因为它期望特定的格式你可能需要用CSS做一些棘手的事情以避免闪烁。

  • 如果在h3的所有角落都有完整的20px border-radius,即使元素被展开也是如此。
  • 让内容使用以下某些样式: padding-top:20px; position:relative; top:-20px;或类似的东西将填充20px然后通过将其拉回来纠正位置。这样,当它扩展时,它实际上与h3底角重叠。如果那不起作用padding-top:20px; margin-top:-20px;可能。

在我看来这很有效。我会在你的jfiddle帖子上试一下,但是你没有把css源放到css框架中。