以下是我用了一段时间的简单手风琴。一些打开的项目包含大量文本,当选择另一个项目时,我需要它滚动到所选的打开项目。我已经尝试了几次使用scrollTo的其他帖子的变化,但没有成功。任何帮助将不胜感激。
$(document).ready(function() {
//ACCORDION BUTTON ACTION (ON CLICK DO THE FOLLOWING)
$('.turn1').click(function() {
//REMOVE THE ON CLASS FROM ALL BUTTONS
$('.turn1').removeClass('on');
//NO MATTER WHAT WE CLOSE ALL OPEN SLIDES
$('.turn2').slideUp('normal');
//IF THE NEXT SLIDE WASN'T OPEN THEN OPEN IT
if($(this).next().is(':hidden') == true) {
//ADD THE ON CLASS TO THE BUTTON
$(this).addClass('on');
//OPEN THE SLIDE
$(this).next().slideDown('normal');
}
});
$('.turn2').hide();
$("#open").trigger('click');
});
<script type="text/javascript">
$(function(){
$('.turn1').click(function(){
$.scrollTo(this)
})
});
</script>
我也有这个脚本可以很好地工作,但是在第一个手风琴项目没有跳到第一个手风琴项目所在的页面中间时遇到了麻烦。
<script type="text/javascript">
$("#accord_holder").accordion({
autoHeight: false,
collapsible:true,
navigation:true,
active:false,
change: function(event, ui) {
$(window).scrollTop(ui.newHeader.position().top - 1);
}
});
</script>
答案 0 :(得分:2)
使用jQuery的position
和scrollTop()
:
<script type="text/javascript">
$(function(){
$('.turn1').click(function(){
$("html, body").scrollTop($(this).position().top);
});
});
</script>