通过javascript在css中添加一个图像路径到过滤器

Adding an image path to a filter in css by javascript

本文关键字:一个 图像 路径 过滤器 javascript css 添加 通过      更新时间:2023-09-26

我有以下的网站背景缩放时,在Internet Explorer:

#background{filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/background1.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/background1.jpg', sizingMethod='scale')";}

效果很好,但我需要将图像路径更改为来自javascript的变量,来自具有多个背景的数组。每次网站加载时,我都会选择一个随机数作为背景。

做我正在做的事:

#background{filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<script>document.write(background[rn]);</script>', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<script>document.write(background[rn]);</script>', sizingMethod='scale')";}

但这不起作用。缩放不再工作

为什么?有什么问题吗?你会怎么做呢?

Thanks to lot

这样行吗?:

<script>
document.write("<style type='"text/css'">'n#background{filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + background[rn] + "', sizingMethod='scale' 'n-ms-filter: '"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + background[rn] + "', sizingMethod='scale')'";}'n</style>");
</script>

在您的示例中,您试图在引号内插入脚本标记,这是不可能的,因为它只会被解释为字符串而不是脚本。

对于其他遇到此问题的人来说,当它应用于body标记时,您无法动态更改此属性