【发布时间】:2015-05-06 17:06:12
【问题描述】:
我正在创建一个响应式的 Web 应用程序。 为了更加形象化,我目前正在重新创建 Microsoft 在其产品中使用的 OfficeUI 功能区,但随后用于 Web 应用程序。
在功能区中,当您在屏幕上显示所有选项卡时,您会看到如下内容:
现在,当您调整窗口大小以使所有选项卡不再可见时,您会看到以下内容:
您可以清楚地看到区别,它是右侧的一个按钮,用于导航所有不同的选项卡。
现在,按钮将始终放置在网站上,但只是隐藏起来,通过一些 JavaScript 函数,我将使其可见。
但是现在,如何知道我需要在什么时候使按钮可见。
假设以下简单的无序列表:
<ul>
<li>Tab 1</li>
<li>Tab 2</li>
<li>Tab 3</li>
<li>Tab 1</li>
<li>Tab 2</li>
<li>Tab 3</li>
<ul>
所有 LI 元素彼此相邻放置,就像在提供的图像中一样,如果我将窗口大小调整为所有 LI 元素都不适合容器的宽度,则下一个元素会被向下推。我知道这可以通过溢出和空白来解决,但这不是这里的问题。
只有当 6 个 LI 元素不再适合其容器时,我才需要一个 JavaScript 函数来执行一个函数。
这里有一个fiddle 试试看。
希望有人能给我一些指导。
【问题讨论】:
-
希望您可能需要了解更多有关响应式网站的信息
-
如果 6 个
- 项具有固定的已知宽度,如果窗口宽度小于 6 个选项卡的宽度之和,则可以触发调整大小的功能。
-
但这正是问题所在。 LI 没有固定宽度,因为内容是动态的。
-
然后计算页面加载时
- 元素的宽度,并将其保存到全局变量中。然后在调整大小时,将窗口宽度与全局变量进行比较 - 如果窗口宽度小于或等于全局变量,则触发您的函数。
-
你也可以使用@media 查询来解决这个问题..
标签: javascript jquery html css