我如何使用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 -->
答案 0 :(得分:6)
你可以这样做。
$(document).on('popupafteropen', '.ui-popup', function() {
setTimeout(function () {
$(this).popup('close');
}, 5000);
});
答案 1 :(得分: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);
});
});