【问题标题】:Jquery mobile panel buttons only working up to 300pxJquery 移动面板按钮最多只能工作 300px
【发布时间】:2015-01-21 09:01:01
【问题描述】:

我已经构建了一个响应大小的面板,如下所示:

<div data-role="panel" data-position="right" data-display="overlay" data-theme="a"
id="add-form" style="width:50%; max-width:500px;" data-position-fixed="true">

由于某种原因,面板似乎在 300 像素处停止工作。如中所示,面板将根据视口宽度调整大小,但超过 300 像素宽则无法点击。当面板宽度超过 300px 时,部分按钮可点击,部分不可点击。我已经尝试将 !important 添加到所有内容中,它也无济于事。我正在使用 jQuery mobile 1.4.3(对于桌面站点,我只是喜欢面板、表单和按钮的外观,而不是桌面 jQuery)。是的,我将 jQuery 和它的 CSS 称为 head 标签中的最后一个东西,否则面板根本无法工作

【问题讨论】:

  • 请问有什么方法可以将 HTML、CSS 和 JS(如果有的话)粘贴到我们的小提琴中吗?

标签: jquery html css jquery-mobile jquery-mobile-panel


【解决方案1】:

我在这里在黑暗中拍摄,因为我看不到您的其余标记。

我在http://jsfiddle.net/a9f22n70/1/ 模拟了一个小提琴,我认为你的意思。在加载时,我看到面板元素中添加了一堆类(通过 jQuery mobile),这些类在桌面上给我造成了布局问题。我在加载时删除了所有类并重新添加了“ui-panel”类。这为我清理了一切。

我用来测试的标记是:

<div data-role="panel" data-position="left" data-display="overlay" data-theme="a"id="add-form" style="width:50%; max-width:500px;background:red;" data-position-fixed="true">
    <a href="index.html" data-role="button">Link button</a>
</div>

jQuery(很简单)如下:

$(document).ready(function(){
    $("#add-form").attr("class","").addClass("ui-panel");
})

再次,我假设您只想定位 #add-form 元素。

正如他们所说,假设是一切之母......所以希望我一针见血!

更新

在检查了小提琴中的代码后,问题(对我来说)是面板上存在“ui-panel-dismiss”类。删除这个类(通过我的检查工具进行测试)纠正了这个问题。

这有点小技巧,但您可以在页面加载后使用 jQuery 从面板中删除这个类,使用 removeClass(); 函数。

编辑

这是一个解决问题的工作小提琴:http://jsfiddle.net/smoewxd4/3/

最终判决

您在 cmets 中提出的 CSS 解决方案有效,但会导致所有面板都设置为 50% 宽。我建议改用这个 CSS 选择器来使其特定于 #add-form 元素,同时避免使用 !important:

#add-form.ui-panel.ui-panel-dismiss{ width:50%; }

【讨论】:

  • 我做了一个小提琴(jsfiddle.net/seankurth/smoewxd4),将结果窗口的大小调整到最大可能(大约 800 像素宽),并注意面板在左边缘前 40 像素处不再可点击。另外,grumpy cat 只是我在 Google 上搜索的一个占位符,因为 实际 背景还没有上线。
  • 您假设我想定位 add-form 元素是正确的(我希望?),但是添加您的代码会创建一个几乎无法关闭的面板,该面板粘在左侧而不是全高。奇怪...
  • 好的,我看不到您的代码所在的标记环境。我建议将其放入小提琴中,以便更好地为您提供帮助。
  • OK 将大部分页面添加到小提琴中, 但即使代码已经存在,它似乎也显示出问题。 (我也应该上传和链接外部图片吗?)
  • 请不要介意链接下丑陋的蓝线,在测试版本中,通过修改 jquery.mobile-1.4.3.min.css(添加“text-装饰:无!重要;”到任何有:悬停在其中的东西)。但是,使用我没有接触过的 jquery mobile 副本的小提琴代码也有问题,所以我知道这不是问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多