1

私は 2 つの HTML ページ (bmi.html と 7min.html) といくつかの JavaScript を含むプロジェクトを持っています... フッターを使用してページ間を移動します。

  • 最初の問題: 7min.html を初めて実行し、フッターを使用して bmi.html に移動すると、bmi の JavaScript が機能しません!
  • 2 番目の問題: 最初に bmi.html を実行し、7min.html に移動して、再び bmi に戻ります。Javascript は正常に動作しますが、ポップアップ ダイアログを閉じると 7 分のページに戻ります。

以下は私のコードです。

7分: http://jsfiddle.net/Rwf5G/ bmi: http://jsfiddle.net/snKyK/

<html>

<head>
    <meta charset="utf-8">
    <title>Body Trainer</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.1/jquery.mobile-1.2.1.min.css" />

    <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
    <script src="http://jquerymobile.com/demos/1.2.1/docs/_assets/js/jqm-docs.js"></script>
    <script src="http://jquerymobile.com/demos/1.2.1/js/jquery.mobile-1.2.1.js"></script>

</head>

<body>

    <div data-role="page" id="7min-page" class="type-interior" >

        <div data-role="header" data-position="fixed" data-id="appHeader" >
            <h1>Workout</h1>
        </div><!-- /header -->

        <div data-role="content" >
            <h4>Brief</h4>
            <p>
                Some bla bla...
            </p>


        </div>

        <div data-role="footer" data-id="appFooter" data-position="fixed">
            <div data-role="navbar">
                <ul>
                    <li>
                        <a href="bmi.html" data-prefetch="true">BMI</a>
                    </li>
                    <li>
                        <a href="7min.html" data-prefetch="true" class="ui-btn-active ui-state-persist">7min</a>
                    </li>
                </ul>
            </div><!-- /navbar -->
        </div><!-- /footer -->

    </div>

</body>

(jsfiddle を使用して申し訳ありません。ここにコードを追加するのに問題がありました。)

4

1 に答える 1

1
  1. 創刊:

    jQuery Mobile は、Ajax ナビゲーション システムを使用してページをロードし、ビュー/ページを変更します。bmi.htmlで開始すると、すべての HTML タグが読み込まれます。bmi.htmlから7min.htmlに移動すると、jQuery Mobile はその中のコンテンツのみをロードします。div以外の他の HTML タグは無視されます。<div data-role="page"></div>data-role=page

    • 解決策: JS コードを 内に配置します<div data-role="page"></div>
    • オプション: AJAX を使用せずにナビゲートするには、アンカー タグにrel="external"またはを追加します。これを行うと、ページは正常に読み込まれますが、ページ遷移効果が失われます。data-ajax="false"
  2. 2 番目の問題:

    data-history="false"この属性を<div data-role="popup">divに追加します。

于 2013-10-09T11:01:01.007 に答える