2017-04-18 33 views
5

如果您发现此问题重复,请致歉,但无法在StackOverflow上找到正确的答案。scrollTop不适用于溢出:css中的自动属性

我使用以下属性在我的CSS类:

.panel{ 
    background: rgba(203, 203, 210, 0.15); 
    position: relative; 
    float: right; 
    ... 
    overflow: auto; 
} 

当我使用$('body').animate({scrollTop: 10}, 500); jQuery函数滚动页面顶部,这是行不通的。当我将auto值替换为'visible'或'inherit'之类的东西时,它就可以工作。虽然页面的结构需要溢出属性。

有什么想法?

+4

添加一些html和截图。 –

+0

哪个浏览器?并添加更多的HTML ...我可以编写一个简单的案例,它可以正确地处理CSS位置,浮点和溢出,因此您还可以指定其他内容。 – pbuck

+1

请添加所需的html/css/jquery以复制当前不起作用的行为。 –

回答

0

我可以克服这个问题与overflow:auto的唯一途径是增加页面暂时的高度和高度重置为初始值,如下所示:

$('.panel').css({"min-height":"200%"}); 
$('body').animate({scrollTop: 10}, 500); 
$('.panel').css({"min-height":"100%"}); 
0

要在不删除溢出值的情况下符合您的规范,可以将可滚动.panel包装在包装中并使用它。我已经拿到了你的代码,并在代码笔中添加了我自己的代码,唯一的区别是添加了包装器并相应地调整了js。

https://codepen.io/c0un7z3r0/pen/Emgdbr

$(".button").click(function(){ 
    $("html, body").animate({ scrollTop: 0 }, "slow"); 
}); 

滚动至底部找到一个按钮,带您回到顶端,你会注意到的CSS是一样张贴在你的榜样。我希望这有帮助。