我想在 div 上放置一个半透明屏幕,这样我就可以在屏幕顶部显示图像,而不会分散 div 的内容。主 div 可以移动,所以我用 jQuery 读取它的当前宽度、高度和偏移量,然后将它们应用到屏幕上。但屏幕每次出现在不同的地方!核心代码是
$('#on').click(function () {
canvasOffset = $('#canvas').offset();
canvasWidth = $('#canvas').width();
canvasHeight = $('#canvas').height();
$('#canvasScreen').width(canvasWidth).height(canvasHeight).offset(canvasOffset).css({'opacity':'0.7', 'display' : 'block'});
console.log("canvasHeight", canvasHeight, "canvasWidth", canvasWidth, "canvasOffset", canvasOffset);
});
这里有一个 jsfiddle:http: //jsfiddle.net/bdWW3/1/
当您单击屏幕上时,将应用屏幕。当您单击屏幕关闭时,屏幕将被删除。当您再次单击Screen On时,将应用屏幕,但它出现在不同的位置,不再完全位于画布 div 上方。但是 console.log 显示了完全相同的参数被放入 jQuery offset() 调用中!?
有人看到发生了什么吗?
谢谢