【发布时间】:2012-11-19 16:00:53
【问题描述】:
我需要在支持宽、正常和窄宽度的响应式设计中绕过一些 javascript 代码。在“宽”模式下,我需要绕过代码。我可以这样写:
if ($('#page').width() < 1237) {
... do the animation stuff
}
有没有更好的方法来避免硬编码像素宽度?
我在想,当调整窗口大小时,我可以将一个类应用于 body 元素......类似于:
if (width >= 1237) {
$('body').removeClass('layout-normal').removeClass('layout-ipad').addClass('layout-wide');
}
else if (width >= 980) {
$('body').removeClass('layout-wide').removeClass('layout-ipad').addClass('layout-normal');
}
else {
$('body').removeClass('layout-wide').removeClass('layout-normal').addClass('layout-ipad');
}
这将允许我将硬编码的宽度隔离为单个函数,然后我可以编写:
if (!$('#page').hasClass('layout-wide') {
... do the animation stuff
}
但是有没有办法完全避免硬编码像素宽度?
【问题讨论】:
-
如果可以使用媒体查询,你为什么要做这个js
-
我有一个导航按钮,它触发了一个功能,该功能显示了一系列指向该站点的链接。当窗口处于宽模式时,这些链接已经显示。我需要检测它们已经在显示,而不是调用显示它们的 javascript。