【发布时间】:2012-02-10 06:02:03
【问题描述】:
我正在尝试做一些我认为应该非常简单的事情,但我还没有找到对解决方案的简单解释。
我正在构建一个移动优先的响应式网站(默认为 320 像素宽度)。在这么小的分辨率下,站点是一列,我很高兴允许每个单独的“盒子”扩展或收缩到内部内容的自然高度。
但是,在站点扩展到三列的较大分辨率下,我想添加一个小的 Javascript 函数来平衡每列框的高度。我正在谈论的功能是这样的:
jQuery(document).ready(function() {
setHeight('#inner-footer .widget-area');
});
var maxHeight = 0;
function setHeight(column) {
//Get all the element with class = col
column = $(column);
//Loop all the column
column.each(function() {
//Store the highest value
if($(this).height() > maxHeight) {
maxHeight = $(this).height();;
}
});
//Set the height
column.height(maxHeight);
}
我找到了不同的方法来做我正在谈论的事情。
- 我可以使用modernizr“加载”功能(正式名称为yesnope.js)。
- 使用包含 Nicholas Zakas “isMedia”函数的自定义函数,如此链接Media Specific Javascript 或 中所述
- 使用“screenWidth”变量的自定义 javascript 函数,如
var screenWidth = (screen.width < 768) ? true : false;
如Media queries in the real world 中所述
由于我对 JavaScript 的了解有限,我无法实际编写代码来让这些方法中的任何一种都适用于我的脚本。有谁能帮帮我吗?
我对方法没有特别的偏好,我只是希望它能够跨浏览器等工作。我的感觉是 modernizr 方法是最强大和最稳定的方法,可以使这项工作在最多的情况下工作用例,但我不完全确定。我从未修改过modernizr,所以我不确定如何编写以及将自定义加载功能放在哪里。
有人对modernizr 方法或任何其他解决方案(或其他)有想法和具体代码吗?我非常感谢您的帮助。
【问题讨论】:
-
当你可以构建适当的 CSS 时为什么要使用 Javascript(也许将常见的东西整理到一个文件中,为各种分辨率设置单独的文件)?在我看来是一个相当简单的解决方案。
标签: javascript web responsive-design