2010-10-06 134 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測試這一點。

鏈接