Framework7-list-views-swipe-jsapis

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

Framework7-スワイプアウトJavaScript API

説明

スワイプアウトは、要素を制御するJavaScript APIを提供します。 適切なアプリのプロパティとメソッドは以下のとおりです-

S.No Methods Description & Parameters
1 myApp.swipeoutOpen(el, direction, callback)

It is used to reveal swipeout actions on element which is specified.

  • el -リスト要素の_HTMLElementまたは文字列(CSSセレクターを使用)_です。
  • 方向-開くスワイプアウトアクションを指定する_文字列(左または右)_です。
  • コールバック-この_function_は、スワイプアウトが開始アニメーションを完了した後に実行されます。
2 myApp.swipeoutClose(el, callback)

It is used to close swipeout actions on element which is specified.

  • el -リスト要素の_HTMLElementまたは文字列(CSSセレクターを使用)_です。
  • コールバック-この_function_は、スワイプアウトが開始アニメーションを完了した後に実行されます。
3 myApp.swipeoutDelete(el, callback)

It is used to delete specified element of swipeout.

  • el -リスト要素の_HTMLElementまたは文字列(CSSセレクターを使用)_です。
  • コールバック-この_function_は、スワイプアウトが開始アニメーションを完了した後に実行されます。
4 myApp.swipeoutOpenedEl This property contains link to swipeout HTMLElement that is opened currently.

次の例では、Framework7でJavaScript APIを使用して要素をスワイプできます-

<!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>Swipeout JavaScript API</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 = "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">Swipeout JavaScript API</div>
                        <div class = "right"> </div>
                     </div>
                  </div>

                  <div class = "page-content">
                     <div class = "list-block">
                        <ul>
                           <li class = "swipeout">
                              <div class = "swipeout-content item-content">
                                 <div class = "item-media"><i class = "icon icon-form-name"></i></div>

                                 <div class = "item-inner">
                                    <div class = "item-title">Item title</div>
                                    <div class = "item-after">Label 1</div>
                                 </div>

                              </div>
                              <div class = "swipeout-actions-right"><a href = "#" class = "action1 bg-red">Task</a></div>
                           </li>

                           <li class = "swipeout">
                              <div class = "swipeout-content item-content">
                                 <div class = "item-media"><i class = "icon icon-form-name"></i></div>

                                 <div class = "item-inner">
                                    <div class = "item-title">Item with badge</div>
                                    <div class = "item-after"> <span class = "badge bg-lightblue">78</span></div>
                                 </div>

                              </div>
                              <div class = "swipeout-actions-right"><a href = "#" class = "action1 bg-red">Task</a></div>
                           </li>

                           <li class = "swipeout">
                              <div class = "swipeout-content item-content">
                                 <div class = "item-media"><i class = "icon icon-form-name"></i></div>

                                 <div class = "item-inner">
                                    <div class = "item-title">Another item</div>
                                    <div class = "item-after">Label 2</div>
                                 </div>

                              </div>
                              <div class = "swipeout-actions-right"><a href = "#" class = "action1 bg-red">Task</a></div>
                           </li>

                           <li class = "swipeout">
                              <div class = "swipeout-content item-content">
                                 <div class = "item-media"><i class = "icon icon-form-name"></i></div>

                                 <div class = "item-inner">
                                    <div class = "item-title">Item title</div>
                                    <div class = "item-after">Label 3</div>
                                 </div>

                              </div>
                              <div class = "swipeout-actions-right"><a href = "#" class = "action1 bg-red">Task</a></div>
                           </li>

                           <li class = "swipeout">
                              <div class = "swipeout-content item-content">
                                 <div class = "item-media"><i class = "icon icon-form-name"></i></div>

                                 <div class = "item-inner">
                                    <div class = "item-title">Item with badge</div>
                                    <div class = "item-after"> <span class = "badge bg-lightblue">78</span></div>
                                 </div>

                              </div>
                              <div class = "swipeout-actions-right"><a href = "#" class = "action1 bg-red">Task</a></div>
                           </li>
                        </ul>
                     </div>

                     <div class = "content-block">
                        <p><a href = "#" class = "open-first">Open first item</a></p>
                        <p><a href = "#" class = "open-second">Open second item and close after 1s</a></p>
                        <p><a href = "#" class = "delete-last">Delete last item</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;

         $$('.open-first').on('click', function() {
            myApp.swipeoutOpen('li.swipeout:first-child');
         });

         $$('.open-second').on('click', function() {
            myApp.swipeoutOpen($$('li.swipeout').eq(1));

            setTimeout(function () {
               myApp.swipeoutClose($$('li.swipeout').eq(1));
            }, 1000);
         });

         $$('.delete-last').on('click', function(){
            myApp.swipeoutDelete('li.swipeout:last-child');
         });
      </script>
   </body>

</html>

出力

上記のコードがどのように機能するかを確認するために次の手順を実行してみましょう-

  • 上記のHTMLコードを list_views_swipe_jsapisl ファイルとしてサーバーのルートフォルダーに保存します。
  • このHTMLファイルをhttp://localhost/list_views_swipe_jsapislとして開きます。出力は以下のように表示されます。
  • この例では、リンクをクリックして要素を削除し、要素を開くことができます。