Как загрузить диалог или всплывающее окно перед загрузкой страницы с помощью мобильного телефона jquery

Есть ли способ вызвать / показать диалог или всплывающее окно перед загрузкой страницы с помощью jquery Mobile?

Я хочу получить некоторые данные перед загрузкой страницы и в соответствии с этим будет загружена следующая страница

3 ответа

Чтобы загрузить диалоговое окно или всплывающее окно перед отображением страницы, необходимо использовать seTimeout, если вы позвоните ему без задержки, он сразу откроется и закроется.

$(document).on('pagebeforeshow', '#pageID', function() {
 setTimeout(function () {
  $('#popupID').popup('open');
 }, 100); // delay above zero
});

Аналогичная проблема.

Есть очень простое решение для вашего вопроса, единственное, что вам нужно сделать, это сделать вашу первую страницу диалоговой.

Рабочий пример: http://jsfiddle.net/Gajotres/dj3UP/1/

Как вы можете видеть в моем примере, это чисто HTML-решение. Атрибут роли данных первой страницы был изменен на диалог.

HTML:

<!DOCTYPE html>
<html>
<head>
    <title>jQM Complex Demo</title>
    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=no; target-densityDpi=device-dpi"/>
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
    <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>    
</head>
<body>
    <div data-role="dialog" id="index">
        <div data-theme="a" data-role="header">
            <h3>
                First Page
            </h3>
        </div>

        <div data-role="content">
            <input type="text" value="" id="some-input"/>
            <a data-role="button" id="some-button" href="#second">Next page</a>
        </div>

        <div data-theme="a" data-role="footer" data-position="fixed">

        </div>
    </div> 
    <div data-role="page" id="second">
        <div data-theme="a" data-role="header">
            <h3>
                Second Page
            </h3>
            <a href="#index" class="ui-btn-left">Back</a>
        </div>

        <div data-role="content">

        </div>

        <div data-theme="a" data-role="footer" data-position="fixed">

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

Попробуйте следующее:

$.mobile.loading( 'show', {
    text: 'foo',
    textVisible: true,
    theme: 'z',
    html: ""
});

Ссылка на ссылку:

http://jquerymobile.com/demos/1.2.0/docs/pages/loader.html

Другие вопросы по тегам