Javascript 元素高度不足时如何强制滚动
我有一个div元素(idJavascript 元素高度不足时如何强制滚动,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 =
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%
}