我目前有一个带有CSS手风琴here的页面;正如你所看到的,为了让页面加载手风琴而不是关闭,我有一个手风琴部分#acc3的链接点。
这个问题是页面会自动向下折叠以使手风琴居中(在较小的视口上)我希望页面默认为滚动顶部。我尝试过使用
$(document).ready(function(){
$('html').scrollTop(0);
});
但这似乎没有帮助。任何的想法? - 谢谢
答案 0 :(得分:1)
试试这个
<script type="text/javascript">
$(document).ready(function () {
window.scrollTo(0,0);
});
</script>
答案 1 :(得分:0)
我认为您所使用的解决方案并不仅仅依赖于锚链接。我知道它可以作为某种分页,但正如你所说的那样 - 在加载时它跳到元素上的事实有点糟糕。
我也真的不喜欢这样一个事实:如果没有设置锚,那么它们都没有打开。如果第一个是你的“默认”,我会更喜欢它。但是,除非你明确提到#acc2:not(:target), #acc3:not(:target)
等,否则我无法想到使用CSS实现这一目标的好方法(如果我们得到一个父选择器,也许这在CSS4中会更容易 - 虽然我不确定如何)。
如果你真的想用现有的解决方案来实现这个目标,那么使用$("html,body").scrollTop(0)
应该可行,但我也记得遇到与尝试使用jQuery立即设置滚动位置有关的问题。尝试添加一个超时(可能真的很小,如1ms),看看是否有帮助:
// Try de/increasing the 200 and see if that helps
setTimeout(function() {
$("html, body").scrollTop(0)
}, 200);
但是,我仍然宁愿你更多地招募JavaScript,例如初始检查哈希开始#acc
,如果没有,则关注其中一个元素(默认)。