【发布时间】:2013-02-07 12:19:57
【问题描述】:
我有一个带有一些按钮的 jQuery Mobile 网站。如果视口为 640 像素或更宽,我想在按钮右侧显示一些文本,否则隐藏文本。
我知道 iconpos option/data-attribute 是为此目的而设计的,并且可以将其设置为 left 以在我需要时显示文本,而在我不需要时则设置为 notext。我可能会想出一些 Javascript 来更改属性并在页面加载、方向更改和窗口调整大小事件时刷新按钮,但这可能会变得很麻烦,而且我不确定我是否忘记了一些可能导致视口的事件宽度要改变。
编辑 2: 我在几个浏览器和设备上测试了我的网站,它似乎改变了方向、调整窗口大小以及显示和隐藏屏幕键盘(在这些东西是可能)总是导致在window 对象上触发resize 事件。当然,我不确定这是否会在所有浏览器中总是发生。
我考虑过使用某种媒体查询将文本上的 display CSS 属性设置为 inline 或 none,具体取决于视口宽度,但在查看 jQuery Mobile 的代码后,似乎iconpos 选项不仅影响文本的可见性:它影响尺寸、标题属性、图标位置和其他一些东西,因此仅使用 CSS 可能无法实现。
编辑:我忘了提到该按钮位于标题中,因此它是内联按钮之一。简单地通过 CSS 隐藏文本会让它看起来很有趣。
这里有人知道根据视口宽度显示或隐藏文本的简单实用方法吗?或者作为一个更普遍的问题,这里有没有人知道如何根据视口宽度更改数据属性并让 jQuery Mobile 在视口宽度发生变化时确认更改?我找到了一个 similar question 关于更改数据属性,它没有任何合理的答案。
【问题讨论】:
-
我不确定这是否会对您有所帮助,但有一个网站可以很好地显示文本。 adnbutton.com
-
你能发布任何相关代码或创建jsfiddle吗?
-
jquery 的好答案 >=1.4 stackoverflow.com/questions/21741088/…
标签: javascript jquery html css jquery-mobile