gpt4 book ai didi

javascript - 根据屏幕尺寸用 jQuery 替换样式表

转载 作者:搜寻专家 更新时间:2023-11-01 04:32:52 25 4
gpt4 key购买 nike

您好,我想知道是否有人可以提供帮助,我正在尝试使用 jQuery 创建一个响应式网站(必须这样做,因为目标受众使用 IE7/8,而 css3-mediaqueries.js 似乎会干扰 jQuery UI我也在使用)。我正在使用以下脚本来检测宽度和高度并相应地应用样式,它适用于宽度但不适用于高度,它加载 SMstyle.css 然后用 样式覆盖。 CSS 。我正在尝试学习 JavaScript 但目前还不是很厉害,我知道有更简单的方法!任何帮助将不胜感激...

function adjustStyle(width) {
width = parseInt(width);
if ((width >= 701) && (width < 1200
)) {
$("#size-stylesheet").attr("href", "css/SMstyle.css");
} else {
$("#size-stylesheet").attr("href", "css/style.css");
}
}

$(function() {
adjustStyle($(this).width());
$(window).resize(function() {
adjustStyle($(this).width());
});
});

function adjustStyle(height) {
height = parseInt(height);
if (height < 800
) {
$("#size-stylesheet").attr("href", "css/SMstyle.css");
} else {
$("#size-stylesheet").attr("href", "css/style.css");
}
}

$(function() {
adjustStyle($(this).height());
$(window).resize(function() {
adjustStyle($(this).height());
});

});

最佳答案

在处理响应式布局时,您并不真正关心高度。整个概念是,如果内容不能适应宽度,它就会折叠(从而增加高度)。

编辑:

我认为您需要使用 $(document) 而不是 $(this),因为 $(this) 的范围在您手动触发它和由调整大小事件触发时会有所不同。

function adjustStyle() {
var width = $(document).width();
var height = $(document).height();
if (((width >= 701) && (width < 1200)) || (height < 800)) {
$("#size-stylesheet").attr("href", "css/SMstyle.css");
} else {
$("#size-stylesheet").attr("href", "css/style.css");
}
}

adjustStyle();
$(window).resize(function() {
adjustStyle();
});

要查看不同的作用域,试试这个:

$(function() {
console.log('Scope', $(this)); // Scope is DOM-element
$(window).resize(function() {
console.log('Scope', $(this)); // Scope is Window object.
});
});

关于javascript - 根据屏幕尺寸用 jQuery 替换样式表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13977721/

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