重新加载CSS仅适用于鼠标悬停在窗口上

时间:2015-04-18 13:20:47

标签: jquery css

这是我遇到的一件非常奇怪的事情。我有一个简单的脚本用jquery重新加载所有的CSS文件。为了测试,我在页面加载后4秒执行它。

setTimeout(function() {
    var newStr = '?v=' + Math.random(0,10000);
    $('link[rel="stylesheet"]').each(function () {
        this.href = this.href.replace(/\?.*|$/, newStr);
    });
}, 4000);

这样可行,但仅当我的鼠标在屏幕上时才有效。如果我在4秒内重新加载页面并编辑CSS文件,并等待更改显示,则在我将鼠标移动到窗口之前,它们不会显示。我还尝试添加一个alert(),它显示了警告并且还显示了CSS的变化,但是我不想在重新加载CSS时显示警告。

有谁知道如何强制窗口认为它是活动的,以便CSS重新加载而不必将鼠标悬停在窗口上?提前谢谢。

1 个答案:

答案 0 :(得分:2)

好的,我找到了办法。

$('body').hide();
$('body').get(0).offsetHeight;
$('body').show();

感谢this article强制重绘。