Quadro 7 - Eventos do Painel
Descrição
Para detectar como um usuário interage com o painel, você pode usar os eventos do painel. Também pode ser usado para fazer algo em JS sempre que o painel for aberto / fechado.
A tabela a seguir lista os eventos suportados pelo Framework7 -
S.Não | Descrição do Evento | Alvo |
---|---|---|
1 | open Sempre que o painel iniciar sua animação de abertura, este evento será acionado. |
Elemento do Painel <div class = "panel"> |
2 | opened Sempre que o painel completar sua animação de abertura, este evento será acionado. |
Elemento do Painel <div class = "panel"> |
3 | close Sempre que a animação de fechamento do painel for iniciada, este evento será acionado. |
Elemento do Painel <div class = "panel"> |
4 | closed Sempre que a animação de fechamento do painel for concluída, este evento será acionado. |
Elemento do Painel <div class = "panel"> |
Exemplo
O exemplo a seguir demonstra os eventos do painel no Framework7. O exemplo detecta a interação do usuário com o painel e exibe as mensagens do evento de acordo.
<!DOCTYPE html>
<html>
<head>
<meta name = "viewport" content = "width = device-width, initial-scale = 1,
maximum-scale = 1, minimum-scale = 1, user-scalable = no, minimal-ui" />
<meta name = "apple-mobile-web-app-capable" content = "yes" />
<meta name = "apple-mobile-web-app-status-bar-style" content = "black" />
<title>Panel Events</title>
<link rel = "stylesheet"
href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.min.css" />
<link rel = "stylesheet"
href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.colors.min.css" />
</head>
<body>
<div class = "panel-overlay"></div>
<div class = "panel panel-left panel-reveal">
<div class = "content-block">
<h2>Left Panel content</h2>
<p><a href = "#" data-panel = "right" class = "open-panel">Open Right Panel</a></p>
<p><a href = "#" class = "close-panel">Close me</a></p>
</div>
</div>
<div class = "panel panel-right panel-cover">
<div class = "content-block">
<h2>Right Panel content</h2>
<p><a href = "#" data-panel = "left" class = "open-panel">Open Left Panel</a></p>
<p><a href = "#" class = "close-panel">Close me</a></p>
</div>
</div>
<div class = "views">
<div class = "view view-main">
<div class = "pages">
<div data-page = "home" class = "page navbar-fixed">
<div class = "navbar">
<div class = "navbar-inner">
<div class = "left"> </div>
<div class = "center">Side Panel Events</div>
<div class = "right"> </div>
</div>
</div>
<div class = "page-content">
<div class = "content-block">
<p> <a href = "#" class = "open-panel">Open Left Panel</a></p>
<p> <a href = "#" data-panel = "right" class = "open-panel">Open Right Panel</a></p>
</div>
</div>
</div>
</div>
</div>
</div>
<script type = "text/javascript"
src = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/js/framework7.min.js"></script>
<script>
var myApp = new Framework7();
var $$ = Dom7;
$$('.panel-left').on('opened', function () {
myApp.alert('Left panel opened!!');
});
$$('.panel-left').on('close', function () {
myApp.alert('Left panel is closing!!');
});
$$('.panel-right').on('open', function () {
myApp.alert('Right panel is opening!!');
});
$$('.panel-right').on('closed', function () {
myApp.alert('Right panel closed!!');
});
</script>
</body>
</html>
Resultado
Vamos realizar as seguintes etapas para ver como funciona o código fornecido acima -
Salve o código HTML fornecido acima como sidepanels_events.html arquivo na pasta raiz do servidor.
Abra este arquivo HTML como http: //localhost/sidepanels_events.html e a saída é exibida conforme mostrado abaixo.
Este exemplo exibe o painel esquerdo quando você clica no link Abrir painel esquerdo e exibe o painel direito quando você clica no link Abrir painel direito e o evento do painel é acionado quando as estatísticas do painel abrem e fecham a animação.