【发布时间】:2013-08-20 08:21:00
【问题描述】:
我创建了 4 个不同的 .css 文件来处理不同的分辨率。
这是我用来根据屏幕宽度加载文件的 jquery 代码。
<link id="size-stylesheet" rel="stylesheet" type="text/css" href="public/_css/normal.css" />
<script language="javascript" type="text/javascript">
function adjustStyle(width)
{
width = parseInt(width);
if(width >= 1920)
{
$("#size-stylesheet").attr("href", "public/_css/bigger.css");
}
else if (width >= 1600)
{
$("#size-stylesheet").attr("href", "public/_css/big.css");
}
else if (width >= 1366)
{
$("#size-stylesheet").attr("href", "public/_css/normal.css");
}
else
{
$("#size-stylesheet").attr("href", "public/_css/small.css");
}
}
$(function()
{
adjustStyle($(this).width());
$(window).resize(function()
{
adjustStyle($(this).width());
});
});
</script>
当我在 chrome 上测试页面时,每次我调整窗口大小时它都会像疯了一样闪烁。 奇怪的是,它在 IE8 和 firefox 上运行得非常好。
这是页面的工作示例;
我有一种感觉,每次我调整窗口大小时,它都会一遍又一遍地加载 css 文件。
在调整窗口大小时,加载css文件也需要一些时间,所以可以预先加载它们吗?
【问题讨论】:
-
你为什么不看看媒体查询
-
媒体查询在 IE8 上有效吗?
-
@user1778459 好吧,不...
-
不,他们没有,我在 Chrome 上看不到闪烁。
-
真的!?当我调整浏览器窗口大小时,它会疯狂闪烁。