Framework7-sidepanels-events

提供:Dev Guides
移動先:案内検索

Framework7-パネルイベント

説明

ユーザーがパネルと対話する方法を検出するには、パネルイベントを使用できます。 パネルを開いたり閉じたりするたびに、JSで何かをするためにも使用できます。

次の表は、Framework7でサポートされているイベントの一覧です-

S.No Event & Description Target
1

open

パネルがオープニングアニメーションを開始するたびに、このイベントがトリガーされます。

a

パネル要素

<div class = "panel">

2

opened

パネルがオープニングアニメーションを完了するたびに、このイベントがトリガーされます。

a

パネル要素

<div class = "panel">

3

close

パネルを閉じるアニメーションが開始されるたびに、このイベントがトリガーされます。

a

パネル要素

<div class = "panel">

4

closed

パネルを閉じるアニメーションが完了するたびに、このイベントがトリガーされます。

a

パネル要素

<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_eventsl ファイルとしてサーバーのルートフォルダーに保存します。
  • このHTMLファイルをhttp://localhost/sidepanels_eventslとして開くと、出力は以下のように表示されます。
  • この例では、Open Left Panellinkをクリックすると左パネルが表示され、_Open Right Panel_リンクをクリックすると右パネルが表示され、パネルがアニメーションの開閉を開始するとパネルイベントがトリガーされます。