Javascript 元素高度不足时如何强制滚动

Javascript 元素高度不足时如何强制滚动,javascript,html,Javascript,Html,我有一个div元素(idtarget),其中有几个具有id的锚。我有一个按钮通过onclick属性连接到javascript函数,该属性允许div元素滚动,从而在div内的顶部位置显示某个锚。该函数类似于: scrollToTag = function(id){ var target = document.getElementById('target'); var goal = document.getElementById(id); target.scrollTop =

我有一个div元素(id
target
),其中有几个具有id的锚。我有一个按钮通过
onclick
属性连接到javascript函数,该属性允许div元素滚动,从而在div内的顶部位置显示某个锚。该函数类似于:

scrollToTag = function(id){
    var target = document.getElementById('target');
    var goal = document.getElementById(id);
    target.scrollTop = goal.offsetTop - target.offsetTop;
};
当div(
target
)的高度不够时,目标定位点不会移到div的顶部,因为它无法再滚动


强制它滚动的最佳方式是什么?我想出了一个主意,用div本身的高度附加一个空白元素,但我不确定这是否好。有更好的方法吗?

根据您的具体情况,有很多不同的方法,但我建议:


没有额外的标记,它迫使底部出现您在问题中提到的间隙。

您可以使用
溢出:自动
包装器,并将
边距底部:100%
设置为
目标
@Teemu。这很难滚动。我无法想象会是什么情况(类似的样式对我有效),但看起来你已经有了一个很好的解决方案。
#target:after {
    content: '';
    display: block;
    height: 100%
}