javascript - 在网页调整大小时更改样式表

标签 javascript jquery html css

我已经让这个脚本几乎 100% 达到我想要的效果,但当窗口大小调整到超过 865 像素时,我无法让它停止闪烁。

我基本上构建了当窗口超过一定大小时将我的网站风格从移动设备更改为桌面设备。在大多数情况下,我使用本网站上提出的其他很棒的问题来构建它,但我就是无法结束它。

JavaScript:

$(window).on("resize", function() {        
    if ($(this).width() > 865) { 
        if (x != 'Desktop') { 
            var x = 'Desktop';
            $('head link[rel=stylesheet]').remove();
            $('head').append('<link rel="stylesheet" href="/IIS/_Stylesheets/HTMLPageReset.css" type="text/css" />');
            $('head').append('<link rel="stylesheet" href="/IIS/GRCAWebsite/_Stylesheets/GRCANew2015.css" type="text/css" />');
        }
    }
    if ($(this).width() < 865) { 
        if (x != 'Mobile') { 
            var x = 'Mobile';
            $('head link[rel=stylesheet]').remove();
            $('head').append('<link rel="stylesheet" href="/IIS/_Stylesheets/HTMLPageReset.css" type="text/css" />');
            $('head').append('<link rel="stylesheet" href="/IIS/GRCAWebsite/_Stylesheets/GRCANew2015_Mobile.css" type="text/css" />');
        }
    }
});

它在移动 View 中效果很好,但在桌面 View 中,每当调整窗口大小时,页面都会不断重新加载脚本。我认为这与我的 x 变量有关,但是

我也调用 JQuery。

最佳答案

既然你告诉浏览器在 865px 以下做一些事情,在 865px 以上做其他事情,你的问题很可能是你忘记了孤独的 865px 本身。尝试像这样调整其中之一

if ($(this).width() > 864)if ($(this).width() < 866)

这样现在将捕获 865px。

关于javascript - 在网页调整大小时更改样式表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32361819/

相关文章:

javascript - 找不到模块 : Can't resolve 'firebase' in

由正则表达式引起的 Javascript 语法错误 - 特定于 Internet Explorer(所有版本)

确定页面上开始滚动位置的Javascript?

javascript - 使用 jQuery 重新填写 codeigniter 表单

html - 有人可以解释这个网站上标记区域背后的代码吗?

javascript - 从 fetch -> promise -> response 获取数据

javascript - 在 Javascript 中获取类的所有实例

javascript - HTML Canvas - 如何绘制非常细的线条?

javascript - 单击播放按钮后开始播放音频

html - 3 列 html 模板 - 内容溢出,但两者都很清楚且高度为 100%