setTimeout nicht warten, für das angegebene Intervall in JQuery Mobile
Ich versuche, mich um die Seiten zu wechseln, basierend auf bestimmten Zeitintervall.
Ich habe versucht, mit setTimeout, sondern es laufen sofort den code unabhängig von der angegebenen Zeit.
Hier ist die Seite:
<!DOCTYPE HTML>
<html>
<head>
<meta name="viewport" content="width=320; user-scalable=no" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Change Page</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" />
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
var oCSS = {
'font-size' : '18em',
'height' : '300px',
'border' : 'thick solid',
'text-align' : 'center'
};
$(document).bind("mobileinit", function()
{
$.mobile.defaultPageTransition = "flip";
});
$('div[data-role|="page"]').live('pageshow', function(event)
{
setTimeout($.mobile.changePage($($(this).attr('NextPage'))), 30000);
});
</script>
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>
</head>
<body>
<div data-role="page" id="page1" NextPage='#page2'>
<div data-role="content">
<div class="number">4</div>
</div>
</div>
<div data-role="page" id="page2" NextPage='#page3'>
<div data-role="content">
<div class='number'>3</div>
</div>
</div>
<div data-role="page" id="page3" NextPage='#page4'>
<div data-role="content">
<div class='number'>2</div>
</div>
</div>
<div data-role="page" id="page4" NextPage='#page1'>
<div data-role="content">
<div class='number'>1</div>
</div>
</div>
<script type="text/javascript">
$(".number").css(oCSS);
</script>
</body>
</html>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre syntax ist falsch. Sie müssen verwenden Sie eine anonyme Funktion oder das JS sofort angerufen. Darüber hinaus, Ihre jQuery scheint nicht korrekt zu sein, wie gut (zu viele
$()
). Es sollte sein:Sehen
Fenster.setTimeout
docs für weitere Informationen.Ihre Referenz zu
$(this)
wird nicht funktionieren (dies in der anonymen Funktion endet alsDOMWindow
Beispiel) insetTimeout()
Sie erfassen müssen die Variablen für die Funktion, die sich korrekt Verhalten.Hier ist ein Beispiel auf jsfiddle