jQuery Mobile - 面板

描述

使用 data-role = "panel" 属性从屏幕左侧或右侧移动以显示内容的基本面板。


示例

以下示例描述了 panel 面板在 jQuery Mobile 框架中的使用。

<!DOCTYPE html>
<html>
   <head>
      <title>Panel</title>
      <meta name = "viewport" content = "width = device-width, initial-scale = 1">
      <link rel = "stylesheet" href = "https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
      <script src = "https://code.jquery.com/jquery-1.11.3.min.js"></script>
      <script src = "https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
   </head>

   <body>
      <div data-role = "page" id = "page1">
         <div data-role = "panel" id = "panel1">
            <h2>This is Panel Header</h2>
            <p>You can close this panel by pressing the Esc key or by swiping.</p>
         </div>
         
         <div data-role  =  "header">
            <h2>Header</h2>
         </div>
         
         <div data-role  =  "main" class  =  "ui-content">
            <p>Click on the button to open Panel.</p>
            <a href = "#panel1" class = "ui-btn ui-btn-inline">Open Panel</a>
         </div>
         
         <div data-role = "footer">
            <h2>Footer</h2>
         </div>
      </div>
   </body>
</html>

输出

让我们执行以下步骤,看看上面的代码是如何工作的 −

  • 将上述 html 代码保存为服务器根文件夹中的 jqm_panels.html 文件。

  • 将此 HTML 文件打开为 http://localhost/jqm_panels.html,将显示以下输出。


面板标记

您可以在页面内编写面板内容,它与页眉、内容和页脚元素同级。 您不能在页面外编写面板标记。 它将具有以下格式。

<div data-role = "page">
   <div data-role = "panel" id = "panel1">
      <!-- panel content -->
   </div><!-- end of panel -->
   
   <!-- header -->
   <!-- content -->
   <!-- footer -->
</div><!-- end of page -->

动态内容

您可以使用面板上的 updatelayout 事件动态地将内容添加到面板或在面板打开时隐藏内容,如下列格式所示。

$( "#panel1" ).trigger( "updatelayout" );

它将检查面板内容的高度,如果面板的高度超过,则它将使用 min-height 属性和位置设置内容的高度 通过使用 data-position-fixed = "true" 属性的面板。


打开面板

您可以通过将 href 属性设置为面板的 id 来打开面板,它将链接绑定到面板。 当您单击链接时它会打开面板,再次单击它会关闭面板。


关闭面板

您可以通过在面板外部单击、向左或向右滑动或按 Esc 键来关闭面板。 可以使用 data-swipe-close = "false" 属性关闭滑动效果。有时,您可以通过在面板外单击来关闭面板; 这样您就可以通过将 data-dismissible = "false" 添加到面板来避免此操作。 也可以通过向面板添加 data-rel = "close" 属性来关闭面板。


面板动画

如果您的浏览器支持 3D 变换,您可以在面板上使用动画。 使用 translate3d(x,y,z) CSS 转换为面板设置动画。如果您不想使用动画,请使用面板容器的 data-animate = "false" 属性。


面板定位

它指定面板在页面中的位置,并使用 position:absolute CSS 属性显示面板。使用面板中的 position:fixed 属性来显示内容,使用 dataposition-fixed = "true" 属性将页面滚动到面板多少并不重要。 如果内容较多,页面区域放不下,则框架会在没有固定定位的情况下显示内容。


样式面板

jQuery Mobile 框架为面板提供样式。 默认情况下,面板将采用简单样式,但您可以根据用户标准自定义它们。 您可以使用包含 15 像素填充的 ui-panel-inner 类将内容包含在 div 中。您可以使用不同类型的主题为面板设置主题背景。 面板的默认主题是 "c" 并使用 data-theme 属性设置面板的主题。 如果您不想设置主题,请使用 data-theme = "none" 属性来使用您自己的类来设置面板样式。


使面板具有响应能力

jQuery Mobile 框架使面板具有响应性,并允许面板菜单和页面一起使用。您可以对页面使用特定的断点或使用类 ="ui-responsive-panel" 断点预设到页面容器。

❮ jQuery Mobile - 小部件