打开CSS水平手风琴并在页面加载时滚动到顶部

时间:2013-08-22 09:05:50

标签: jquery css scroll slider accordion

我目前有一个带有CSS手风琴here的页面;正如你所看到的,为了让页面加载手风琴而不是关闭,我有一个手风琴部分#acc3的链接点。

这个问题是页面会自动向下折叠以使手风琴居中(在较小的视口上)我希望页面默认为滚动顶部。我尝试过使用

     $(document).ready(function(){
$('html').scrollTop(0);

});

但这似乎没有帮助。任何的想法? - 谢谢

2 个答案:

答案 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,如果没有,则关注其中一个元素(默认)。