jQuery Mobile - Eventos de transição de página
Descrição
Dispara quando fazemos a transição de uma página para outra usando os seguintes tipos de eventos -
O evento pagebeforeshow é disparado ao disparar em "toPage" antes do início da animação de transição.
O evento pageshow é disparado ao disparar em "toPage" após a ocorrência da animação de transição.
O evento pagebeforehide é disparado ao disparar em "fromPage" antes do início da animação de transição.
O evento pagehide é disparado ao disparar em "fromPage" após a ocorrência da animação de transição.
Exemplo
O exemplo a seguir descreve o uso de eventos de transição de página no jQuery Mobile Framework.
<!DOCTYPE html>
<head>
<title>Page Transition Events</title>
<meta name = "viewport" content = "width = device-width, initial-scale = 1">
<link rel = "stylesheet" href = "https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src = "https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src = "https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<script>
$(document).on("pagebeforeshow","#page2",function() {
alert("The pagebeforeshow event has been fired and second page is yet to be shown.");
});
$(document).on("pageshow","#page2",function() {
alert("The pageshow event has been fired and second page is displaying now.");
});
$(document).on("pagebeforehide","#page2",function() {
alert("The pagebeforehide event has been fired and second page is going to be hide now.");
});
$(document).on("pagehide","#page2",function() {
alert("The pagehide event has been fired and second page is hidden now.");
});
</script>
</head>
<body>
<div data-role = "page" id = "page1">
<div data-role = "header">
<h2>Header</h2>
</div>
<div data-role = "main" class = "ui-content">
<p>This is first page</p>
<a href = "#page2">Page Two</a>
</div>
<div data-role = "footer">
<h2>Footer</h2>
</div>
</div>
<div data-role = "page" id = "page2">
<div data-role = "header">
<h2>Header</h2>
</div>
<div data-role = "main" class = "ui-content">
<p>This is second page</p>
<a href = "#page1">Page One</a>
</div>
<div data-role = "footer">
<h2>Footer</h2>
</div>
</div>
</body>
</html>
Resultado
Vamos realizar as seguintes etapas para ver como o código acima funciona -
Salve o código html acima como jqm_page_transition_event.html arquivo na pasta raiz do servidor.
Abra este arquivo HTML como http: //localhost/jqm_page_transition_events.html e a seguinte saída será exibida.