gpt4 book ai didi

jquery - 使用 jquery 添加的 MS 过滤器

转载 作者:技术小花猫 更新时间:2023-10-29 11:13:11 25 4
gpt4 key购买 nike

我正在做一个元素,其中一项任务是使背景静态并覆盖整个页面。关于这个我找到了this tutorial ,使用“Awesome, Easy, Progressive CSS3 Way”。我的问题是我有更多页面并且每个页面都有不同的背景所以我必须将背景图像放在 <body> 上像这样:

<body style="background-image:url(images/mainBg_1.jpg);">

(css 样式也放在 <body> 上,而不是像示例中那样放在“html”上)

正如您在该链接中看到的那样,有针对 IE 的过滤器,如下所示:

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.**myBackground.jpg**', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='**myBackground.jpg**', sizingMethod='scale')";

问题是“myBackground.jpg”取自<body>标签,我上面写的,所以我不能直接在css中写(每个页面都有不同的背景)。

有没有办法使用 jQuery 添加这些过滤器?我成功地从正文中获取了图像的路径,所以我只需要将其粘贴到这段代码中,然后使用 jQuery for IE <= 8 添加。

感谢您的回答,跟着他们我成功地解决了我的问题。所以,如果有人想要代码:

$(function(){       
var mu = $.browser;
if (mu.msie && mu.version < 9) {

var curBg = $('html').attr('style');
curBg = curBg.split('(');
curBg = curBg[1].split(')');

$('html').css({
"filter" : "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+curBg[0]+"', sizingMethod='scale')",
"-ms-filter" : "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+curBg[0]+"', sizingMethod='scale')"
});

}
});

最佳答案

这样测试
它可能是这样的:

您在页面中添加一个隐藏的 img 元素,其中包含您想要的图像

<img class="myBgImage" src="images/mainBg_1.jpg" style="display:none"/>


您从该图像类名称中获取图像 src

var bgImage = $('img.myBgImage').attr('src');

$('body').append("<style>body{progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+bgImage+"', sizingMethod='scale'); -ms-filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' "+ bgImage +"', sizingMethod='scale')';}</style>");

并且您将 css IE 修复程序附加到 body 中,该修复程序具有用于 BG-image 的 VAR,其中包含 img src url。

只是一个想法。

关于jquery - 使用 jquery 添加的 MS 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6667697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com