Jquery-mobile-jqm-page-transition-events

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

jQuery Mobile-ページ遷移イベント

説明

次のイベントタイプを使用して、あるページから別のページに遷移するときに起動します-

  • _pagebeforeshow_イベントは、遷移アニメーションが開始する前に「toPage」でトリガーされると発生します。
  • _pageshow_イベントは、遷移アニメーションが発生した後に「toPage」でトリガーされると発生します。
  • _pagebeforehide_イベントは、遷移アニメーションが開始する前に「fromPage」でトリガーされると発生します。
  • _pagehide_イベントは、遷移アニメーションが発生した後、「fromPage」でトリガーすると発生します。

次の例では、jQuery Mobileフレームワークでの_page transition events_の使用について説明します。

<!DOCTYPE html>
   <head>
      <title>Page Transition Events</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>
      <script>
         $(document).on("pagebeforeshow","#page2",function() {
            alert("The pagebeforeshow event has been fired and second page is yet to be shown.");
         });

         $(document).on("pageshow","#page2",function() {
            alert("The pageshow event has been fired and second page is displaying now.");
         });

         $(document).on("pagebeforehide","#page2",function() {
            alert("The pagebeforehide event has been fired and second page is going to be hide now.");
         });

         $(document).on("pagehide","#page2",function() {
            alert("The pagehide event has been fired and second page is hidden now.");
         });
      </script>
   </head>

   <body>
      <div data-role = "page" id = "page1">
         <div data-role = "header">
            <h2>Header</h2>
         </div>

         <div data-role = "main" class = "ui-content">
            <p>This is first page</p>
            <a href = "#page2">Page Two</a>
         </div>

         <div data-role = "footer">
            <h2>Footer</h2>
         </div>
      </div>

      <div data-role = "page" id = "page2">
         <div data-role = "header">
            <h2>Header</h2>
         </div>

         <div data-role = "main" class = "ui-content">
            <p>This is second page</p>
            <a href = "#page1">Page One</a>
         </div>

         <div data-role = "footer">
            <h2>Footer</h2>
         </div>

      </div>
   </body>
</html>

出力

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

  • 上記のHTMLコードを jqm_page_transition_eventl ファイルとしてサーバーのルートフォルダーに保存します。
  • このHTMLファイルをhttp://localhost/jqm_page_transition_eventslとして開くと、次の出力が表示されます。