我有以下代码段,它基本上附加了一个可以根据需要运行的网站覆盖。
我现在唯一能做的就是如何显示我所拥有的图像进度微调器,在同一个叠加层上固定在屏幕中央。如果可能,我希望它成为现有叠加div的一部分,因为我需要发出$("#overlay").hide();
来移除叠加层。
我知道我需要包括:
'background-image: 'url("progress_spinner.gif")'
但我不确定该怎么做以及是否需要将另一个div添加到body
$(function() {
var docHeight = $(document).height();
$("body").append("<div id='overlay'></div>");
$("#overlay")
.height(docHeight)
.css({
'opacity' : 0.6,
'filter' : 'alpha(opacity=60)',
'position': 'absolute',
'top': 0,
'left': 0,
'background-color': 'black',
'width': '100%',
'z-index': 5000
});
});
答案 0 :(得分:3)
您需要做的是使用具有以下属性的background
属性:
.css({
'opacity' : 0.6,
'filter' : 'alpha(opacity=60)',
'position': 'absolute',
'top': 0,
'left': 0,
'background': 'black url(path/to/image) no-repeat center center',
'width': '100%',
'z-index': 5000
});
该属性的参数是:
或者,您也可以使用完整版:
.css({
'opacity' : 0.6,
'filter' : 'alpha(opacity=60)',
'position': 'absolute',
'top': 0,
'left': 0,
'background-color': 'black',
'background-image': 'url(path/to/image)',
'background-repeat': 'no-repeat',
'background-position': 'center center',
'width': '100%',
'z-index': 5000
});
答案 1 :(得分:0)
如果您在页面加载时显示叠加层,通常您不需要使用客户端脚本动态创建它。我通常会在页面中包含叠加层。然后,您不需要在页面加载时动态创建它并显示它。
另外请注意,我会尝试避免使用不透明度和滤镜,因为这也会应用于背景图像。尝试使用RGBA颜色,并为不支持它的浏览器添加RGB回退。
要使背景图像居中,只需使用background-position
属性