1

jQuery + jQuery Mobile を使用するにはどうすればよいですか。しばらくするとポップアップ ダイアログが消えます。これは私がある程度作品を書いたものです。しばらくすると消えます。ただし、ボタンをクリックして再度有効にしても、ページを再度更新しない限り機能しません。

JavaScript

<script type="text/javascript">
     $(document).on('pageinit', function(e) {
        $('#postnote').click(function() {
            $('#dialog').popup('open', {history: false}).delay(500).fadeOut('slow').hide();
        });
    });
</script>

ページ

<div data-role="page" id="addnote">
    <div id="dialog" data-role="popup" data-transition="fade">
        <div data-role="header"><h1>Note posted</h1></div>
    </div>
    <div data-role="header" data-theme="a">
        <h1>Add Note</h1>
    </div>
    <div data-role="content" data-theme="b">
        <textarea id="note" rows="40" name="note"></textarea>
        <a href="#" id="postnote" data-role="button" data-transition="fade" data-theme="b">Post</a>
        <a href="#" data-rel="back" data-role="button" data-transition="slidefade" data-theme="a" data-direction="reverse">Back</a>
    </div><!-- /content -->
</div><!-- /page -->
4

2 に答える 2

3

作業例: http://jsfiddle.net/Gajotres/6M9ES/

HTML :

<div data-role="page" id="addnote">
    <div data-role="header" data-theme="a">
        <h1>Add Note</h1>
    </div>
    <div data-role="content" data-theme="b">
        <div id="dialog" data-role="popup" data-transition="fade">
            <div data-role="header"><h1>Note posted</h1></div>
        </div>                
        <textarea id="note" rows="40" name="note"></textarea>
        <a href="#" id="postnote" data-role="button" data-transition="fade" data-theme="b">Post</a>
        <a href="#" data-rel="back" data-role="button" data-transition="slidefade" data-theme="a" data-direction="reverse">Back</a>
    </div><!-- /content -->
</div><!-- /page -->  

Javascript:

$(document).on('pageinit', '#addnote', function(){ 
    $('#postnote').click(function() {
        var interval = setInterval(function(){
            $('#dialog').popup('open', {history: false});//.delay(500).fadeOut('slow');
            var intervalClose = setInterval(function(){    
                $('#dialog').popup('close');
                clearInterval(intervalClose);
            },1000);
            clearInterval(interval);
        },1);           
    });      
});
于 2013-05-14T22:01:55.037 に答える