我在使用jQuery手风琴时遇到了一些问题。
我希望所点击的选项卡始终位于页面顶部上方固定像素的位置,我已经实现了这个功能。但是,如果当前激活的选项卡在被点击的选项卡上面,并且页面已经向下滚动了一点,那么被点击选项卡的顶部和内容的某些部分将会滚动到页面顶部之上。
这是我目前的代码:
$(function() {
$("#accordion").accordion({
autoHeight: false,
collapsible: true,
heightStyle: "content",
active: 0,
animate: 300
});
$('#accordion h3').bind('click',function(){
theOffset = $(this).offset();
$('body,html').animate({
scrollTop: theOffset.top - 100
});
});
});
这里有一个示例来说明我的问题。
例如,展开“第2节”,向下滚动并单击“第3节”选项卡,所有内容都会滚动到页面外面,但反过来就可以正常工作。
如果在打开新选项卡之前关闭活动选项卡,也可以正常工作,因此我认为这与折叠选项卡的高度有关,导致滚动到顶部的功能出现问题!?
希望有人能帮忙,我可能采取了错误的方法。我对jquery的技能仅限于基本的剪切和粘贴理解!^^
提前感谢所有的帮助和指针!:)
谢谢
var self = this;
?我尝试使用var theOffset = $(this).offset();
,但它没有起作用。你有任何想法吗? - Technotronicthis
值与外部不同。 - techfoobar