如何创建一个完全在另一个上面的HTML元素?

时间:2013-03-22 17:58:44

标签: javascript position

如果在页面的某个位置显示HTML元素?

如何制作另一个html以使其完全重叠?

为了给出一个想法,我尝试了类似这样的东西,但是如果输入中的HTML元素位于页面底部并且我需要向下滚动才能到达它,它就不起作用

function createOverlap(elem) {
    var rect = elem.getBoundingClientRect();
    over.style.position = 'absolute';
    over.style.top =    rect.top+'px';
    over.style.left=    rect.left+'px';
    over.style.height = rect.height+'px';
    over.style.width=   rect.width+'px';
    return over;
}

1 个答案:

答案 0 :(得分:0)

似乎'over'不是DOM元素,除此之外,你非常接近。

看到这个小提琴:http://jsfiddle.net/7em2g/

function createOverlap(elem) {
    var rect = elem.getBoundingClientRect();
    var over = document.createElement('div');
    over.style.position = 'absolute';
    over.style.top =    rect.top+'px';
    over.style.left=    rect.left+'px';
    over.style.height = rect.height+'px';
    over.style.width=   rect.width+'px';
    return over;
}
var bar = createOverlap(document.getElementById('foo'));
bar.style.backgroundColor = 'rgba(255,0,0,0.3)';
document.body.appendChild(bar);

嗯,如果向下滚动,这没什么区别。如果您仍然遇到麻烦,我们将需要有关此问题的更多信息。