【发布时间】:2019-06-05 09:55:13
【问题描述】:
我正在尝试根据其宽度将类添加到特定 div,因此它会随着整个窗口(以及具有百分比宽度的 div)调整大小而动态添加或删除。
我尝试使用 javascript querySelector 和 offsetWidth 来识别 div,但到目前为止它不起作用。我的方法受到this codepen 的启发(它获取窗口宽度,与我尝试做的略有不同)。
这是我目前所拥有的:
var addWideClass = function() {
var width = document.querySelector('.v65-productGroup-product').offsetWidth;
if (width < 141) {
$('.v65-productGroup-product').removeClass('wide');
} else if (width >= 415) {
$('.v65-productGroup-product').addClass('wide');
};
};
$(window).resize(function(){
addWideClass();
});
addWideClass();
当 .v65-productGroup-product > 414px 宽时,我需要进行哪些更改才能将 .wide 添加到 .v65-productGroup-product?
【问题讨论】:
-
为什么不定义与视口相关的类?看看developer.mozilla.org/en/docs/Web/CSS/Media_Queries/…
-
目前有什么工作?您可以 console.log() 宽度吗?如果可以,您是否获得了正确的数字。查看这些答案以了解有关 offsetWidth、clientWidth、innerWidth 和 outerWidth 的更多信息stackoverflow.com/a/21064102/1376843stackoverflow.com/a/17845094/1376843
-
@schlonzo 因为视口宽度不等于元素宽度
-
@schlonzo: yunzen 说了什么,而且,在这种情况下我无法编辑 html,所以如果我添加类然后对其应用媒体查询,我仍然必须添加它们js ...我还不如直接解决这个问题,是我的想法。
标签: javascript html css frontend