2010-10-06 135 views
1

我有一个页面,其中有几个截然不同长度的jQuery UI手风琴。如果我打开一个新的部分(其中一个较长的部分崩溃),我留在页面的底部。由于各部分的高度明显不同,因此,如果不显得很奇怪,我就无法使用自动高级功能。有什么方法可以使用scrollto之类的东西自动转到我刚扩展的部分的顶部?jQuery UI手风琴滚动问题

回答

2

您可以绑定到accordionchange事件的功能和使用jQuery scrollTop()

的JavaScript

$(function() { 
    $("#accordion").accordion({ 
     autoHeight: false, 
     header: "h3" 
    }); 

    $('#accordion').bind('accordionchange', function (event, ui) { 
     $(window).scrollTop(ui.newHeader.offset().top); 
    }); 
}); 

HTML

<div id="accordion"> 
    <div id="accordion-one"> 
     <h3><a href="#">First</a></h3> 
     <div>Some lengthy text</div> 
    </div> 
    <div id="accordion-two"> 
     <h3><a href="#">Second</a></h3> 
     <div>Less lengthy text</div> 
    </div> 
    <div id="accordion-three"> 
     <h3><a href="#">Third</a></h3> 
     <div>Other text</div> 
    </div> 
</div> 

我在FF8测试这一点。

链接