MSfilter添加了jquery
我正在研究一个项目,其中一项任务是使背景静态并覆盖整个页面。 关于这个我找到了这个教程 ,使用“很棒,简单,渐进的CSS3方式”。 我的问题是我有更多的页面,每个页面都有不同的背景,所以我必须将背景图像放在如下所示:
(也就是css样式放在 ,而不是放在“html”上,就像在例子中一样)
正如您在该链接中看到的,IE有filter,如下所示:
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.**myBackground.jpg**', sizingMethod='scale'); -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='**myBackground.jpg**', sizingMethod='scale')";
问题是“myBackground.jpg”取自标签,正如我上面所写,因此我不能直接在css中编写(每个页面都有不同的背景)。
有没有办法使用jQuery添加这些filter? 我成功地从body中获取了图像的路径,因此我只需要将其粘贴到此代码中,然后使用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')" }); } });
您可以使用$(’body’)。css()或$(’body’)。attr()并更改body的style属性。
以这种方式测试
它可能是这样的:
在页面中添加一个包含所需图像的隐藏img
元素
您从该图像类名称中获取图像src
var bgImage = $('img.myBgImage').attr('src'); $('body').append("");
并且你附加到身体css IE修复有BG-image VAR持有img src
url。
只是一个想法。