Framework7 - 面板事件



描述

要檢測使用者如何與面板互動,可以使用面板事件。它還可以用於在每次開啟/關閉面板時在 JS 中執行某些操作。

下表列出了 Framework7 支援的事件:

序號 事件及描述 目標
1

open

每當面板開始其開啟動畫時,都會觸發此事件。

面板元素

<div class = "panel">

2

opened

每當面板完成其開啟動畫時,都會觸發此事件。

面板元素

<div class = "panel">

3

close

每當面板關閉動畫開始時,都會觸發此事件。

面板元素

<div class = "panel">

4

closed

每當面板關閉動畫完成時,都會觸發此事件。

面板元素

<div class = "panel">

示例

以下示例演示了 Framework7 中的面板事件。該示例檢測使用者與面板的互動並相應地顯示事件訊息。

<!DOCTYPE html>
<html>

   <head>
      <meta name = "viewport" content = "width = device-width, initial-scale = 1, 
         maximum-scale = 1, minimum-scale = 1, user-scalable = no, minimal-ui" />
      <meta name = "apple-mobile-web-app-capable" content = "yes" />
      <meta name = "apple-mobile-web-app-status-bar-style" content = "black" />
      <title>Panel Events</title>
      <link rel = "stylesheet" 
         href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.min.css" />
      <link rel = "stylesheet" 
         href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.colors.min.css" />
   </head>

   <body>
      <div class = "panel-overlay"></div>
      
      <div class = "panel panel-left panel-reveal">
         <div class = "content-block">
            <h2>Left Panel content</h2>
            <p><a href = "#" data-panel = "right" class = "open-panel">Open Right Panel</a></p>
            <p><a href = "#" class = "close-panel">Close me</a></p>
         </div>
      </div>
      
      <div class = "panel panel-right panel-cover">
         <div class = "content-block">
            <h2>Right Panel content</h2>
            <p><a href = "#" data-panel = "left" class = "open-panel">Open Left Panel</a></p>
            <p><a href = "#" class = "close-panel">Close me</a></p>
         </div>
      </div>
      
      <div class = "views">
         <div class = "view view-main">
            <div class = "pages">
               <div data-page = "home" class = "page navbar-fixed">
                  
                  <div class = "navbar">
                     <div class = "navbar-inner">
                        <div class = "left"> </div>
                        <div class = "center">Side Panel Events</div>
                        <div class = "right"> </div>
                     </div>
                  </div>
                  
                  <div class = "page-content">
                     <div class = "content-block">
                        <p> <a href = "#" class = "open-panel">Open Left Panel</a></p>
                        <p> <a href = "#" data-panel = "right" class = "open-panel">Open Right Panel</a></p>
                     </div>
                  </div>
               
               </div>
            </div>
         </div>
      </div>
      
      <script type = "text/javascript" 
         src = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/js/framework7.min.js"></script>
      
      <script>
         var myApp = new Framework7();

         var $$ = Dom7;

         $$('.panel-left').on('opened', function () {
            myApp.alert('Left panel opened!!');
         });
         
         $$('.panel-left').on('close', function () {
            myApp.alert('Left panel is closing!!');
         });
         
         $$('.panel-right').on('open', function () {
            myApp.alert('Right panel is opening!!');
         });
         
         $$('.panel-right').on('closed', function () {
            myApp.alert('Right panel closed!!');
         });
      </script>
   </body>

</html>

輸出

讓我們執行以下步驟來了解上面給出的程式碼是如何工作的:

  • 將上面給出的 HTML 程式碼儲存為sidepanels_events.html檔案到您的伺服器根資料夾中。

  • 開啟此 HTML 檔案,地址為 https:///sidepanels_events.html,輸出將如下所示。

  • 此示例在您點選開啟左側面板連結時顯示左側面板,並在您點選開啟右側面板連結時顯示右側面板,並且當面板開始開啟和關閉動畫時將觸發面板事件。

framework7_side_panels.htm
廣告

© . All rights reserved.