CSS / JS在绝对DIV内重置DIV的滚动位置

时间:2017-10-05 01:39:00

标签: javascript jquery html css

我在div #popup中加载一个图像,它位于名为#main

的主包装内
#mask {
    display: block;
    position: fixed;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.84);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 999;
    overflow-y: auto;
    overflow-x: hidden;
}

#popup {
    display: block;
    position: absolute;
    top: 30px;
    max-width: 960px;
    z-index: 9999;
    background-color: #efefef; 
    height: auto;
    left: 80px;
    right: 80px;
    margin: 0 auto;
    margin-bottom: 80px;
}

使用jQuery我在#popup内加载一个图像,我可以上下滚动它,但当我关闭叠加层并加载另一个图像时,图像从顶部看不到...它保持当我离开/关闭第一张图像时,滚动位置相同...

不知道为什么......如何在不重置整个页面的情况下重置它?

$('#popup').scrollTop(0);

似乎无法正常工作......

1 个答案:

答案 0 :(得分:0)

您正在尝试重置错误 div 的滚动,您应该重置设置了 overflow 属性的 div 的滚动。

在这种情况下,处理滚动的 div 是 #mask div,因此应用 scrollTop() #mask 元素。

$('#mask').scrollTop(0); 将完成这项工作。

在调用 #mask 时,请确保元素 (scrollTop()) 已经可见。