2013-12-09 3 views
5

Ho un pannello con i link come questoChiusura jQuery Mobile Panel

Pagina1
Pagina2
Pagina3

Se io sono attualmente in Pagina1 e aprire il pannello, il pannello non è chiuso quando seleziono di nuovo Page 1. Ho controllato jQuery mobile panel documentation, e ha lo stesso comportamento (se si apre il pannello di un click su "Pannelli", il pannello rimarrà aperta.

C'è un modo per chiudere il pannello se è selezionata stesso collegamento pagina?

Edit: jQuery mobile versione: la versione 1.3.2 jQuery: 1.9.1

+1

Potete fornire una demo su jsfiddle? –

+0

Chiude a livello di codice, '$ (". Selettore "). Panel (" close ");' – Omar

+0

qui è una demo http://jsfiddle.net/k89A5/ – spezzino

risposta

14

Tu fai qualcosa di simile

$(document).on("pageinit", function() { 
    $("[data-role=panel] a").on("click", function() { 
    if($(this).attr("href") == "#"+$.mobile.activePage[0].id) { 
     $("[data-role=panel]").panel("close"); 
    } 
    }); 
}); 

Update: Per jQm> = 1.4 uso $.mobile.pageContainer.pagecontainer("getActivePage") anziché $.mobile.activePage.

Demo: http://jsfiddle.net/Palestinian/k89A5/1/

+1

molto bella ... – Aravin

+1

@Aravinth ringrazia;) – Omar

+0

Puoi semplicemente usare il pannello $ ("[data-role = panel]"). ("Close"); in una funzione di ritorno per chiudere il pannello –

1

aggiungere solo i dati-rel = "close"

<li class="liPanel"><a href="javascript:void(0);" **data-rel="close"** class="ui-btn ui-shadow ui-corner-all ui-btn-icon-right ui-icon-info">Faqs</a> 
</li>