1

jquery mobile を使用して最初のモバイル アプリの開発を開始しました。これまでのところ順調に進んでいますが、特定のポップアップ動作を解決できません。

ユーザーがアプリをロードしたときにポップアップに表示するもの。このポップアップは、多くのアプリで見られるホーム ポップアップに似ているはずです。いくつかの重要なボタンを備えた固定フッターにユーザーの方向を示すことを目的としています。このポップアップを挿入してページの読み込み時に開くことができましたが、できないことが 2 つあります。

  1. 私のポップアップがロードされて消えます。これは私が望むものであり、それで問題ありません。ただし、ページをリロードするか、別のページに移動して戻ると、再び開きます。これはユーザーにとって迷惑です。ホームページを初めてロードしたときだけ開くようにしたいと思います。

  2. ポップアップをフッターの上に配置したいので、その上ではなく上に配置します。どうすればいいですか?x と y を使用しますか? はいの場合、どのように使用しますか?

  3. フッター以外のページ全体をオーバーレイ効果で覆い隠す方法はありますか?

ありがとうございました。

コードは次のとおりです。

    <div data-role="page" id="home">
<div data-position="fixed" data-role="header" data-theme="d">
<h1>Prva pomoć</h1>
    <button data-icon="info" data-iconpos="right"></button>
</div>
<div data-role="content">   
    <ul data-role="listview" data-divider-theme="d">
<li data-role="list-divider">Ne reagira i ne diše
</li>
<li><a href="#page2">Oživljavanje</a></li>
    <li><a href="#page3">Oživljavanje + AVD</a></li>
<li data-role="list-divider">Ne reagira, ali diše</li>
    <li><a href="#page4">Bočni položaj</a></li>
    <li data-role="list-divider">Ostalo</li>
    <li><a href="#page4">Gušenje</a></li></ul></div> 
    <div id="popspot"></div>
    <div data-role="popup" id="popup" data-transition="slidedown" data-position-to="#popspot" data-theme="a" data-overlay-theme="e" data-history="true">
<p>U slučaju hitnoće koristi ovaj izbornik!<p></div>
        <script type="text/javascript" language="JavaScript">
            $(":jqmData(role='page'):last").on("pageshow", function(event) {
              $("#popup", $(this)).popup("open");
               setTimeout(function(){
      $("#popup").popup("close");
    }, 3000);
            });
        </script>
    <div data-role="footer" id="hitnizbor" data-position="fixed" class="nav-glyphish-example">
<div class="nav-glyphish-example" data-grid="b" data-role="navbar" data-theme="e">
<ul>
    <li><a href="#popup" data-rel="popup" id="chat" data-icon="custom">Zovi Hitnu</a></li>
    <li><a href="#" id="email" data-icon="custom">Oživljavanje</a></li>
    <li><a href="#" id="skull" data-icon="custom">Osobni podaci</a></li>
</ul>
</div>

4

1 に答える 1

0

sessionStorage または localStorage を使用して、ポップアップが表示されるかどうかに関連する情報を追跡できます。

あなたのコードは以下のようになります

if (localStorage.popUpShown != 'true') {
        // window will position the pop up to center
        $('#popup').popup('open', {positionTo: 'window'});

        localStorage.popUpShown = 'true';
        setTimeout(function () {
            $("#popup").popup("close");
        }, 3000);
    }
else{
        // Can remove this alert in development enviornment.
        alert('already shown the popup');
    }

live fiddleここで確認できますhttp://jsfiddle.net/mayooresan/MyaE9/

また、html を微調整しました。HTML ページにマークアップ エラーがありました。

<div data-role="page" id="home">
    <div data-position="fixed" data-role="header" data-theme="d">

<h1>Prva pomoć</h1>

        <button data-icon="info" data-iconpos="right"></button>
    </div>
    <div data-role="content">
        <ul data-role="listview" data-divider-theme="d">
            <li data-role="list-divider">Ne reagira i ne diše</li>
            <li><a href="#page2">Oživljavanje</a>

            </li>
            <li><a href="#page3">Oživljavanje + AVD</a>

            </li>
            <li data-role="list-divider">Ne reagira, ali diše</li>
            <li><a href="#page4">Bočni položaj</a>

            </li>
            <li data-role="list-divider">Ostalo</li>
            <li><a href="#page4">Gušenje</a>

            </li>
        </ul>
        <div id="popspot"></div>
        <div data-role="popup" id="popup" data-transition="slidedown" data-position-to="#popspot" data-theme="a" data-overlay-theme="e" data-history="true">
            <p>U slučaju hitnoće koristi ovaj izbornik!</p>
        </div>
    </div>
    <div data-role="footer" id="hitnizbor" data-position="fixed" class="nav-glyphish-example">
        <div class="nav-glyphish-example" data-grid="b" data-role="navbar" data-theme="e">
            <ul>
                <li><a href="#popup" data-rel="popup" id="chat" data-icon="custom">Zovi Hitnu</a>

                </li>
                <li><a href="#" id="email" data-icon="custom">Oživljavanje</a>

                </li>
                <li><a href="#" id="skull" data-icon="custom">Osobni podaci</a>

                </li>
            </ul>
        </div>
于 2013-04-02T18:49:58.030 に答える