2013-12-09 5 views
5

Ich habe ein Panel mit Links wie dieseSchließen jQuery Mobile Panel

Seite1
Page2
Page3

Wenn ich auf Seite1 zur Zeit bin und öffnen Sie das Bedienfeld, ist das Panel nicht geschlossen, wenn ich erneut Seite1 wähle. Ich habe jQuery mobile panel documentation geprüft und hat das gleiche Verhalten (wenn Sie das Panel einen Klick auf „Panels“ öffnen, wird das Panel geöffnet.

Gibt es eine Möglichkeit, die Platte, wenn gleiche Seite Link zu schließen ausgewählt?

Edit: jQuery mobile Version: 1.3.2 jQuery-Version: 1.9.1

+1

Können Sie eine Demo auf jsfiddle zur Verfügung stellen? –

+0

Schließen Sie es programmgesteuert, '$ (". Selector "). Panel (" close ");' – Omar

+0

hier ist eine Demo http://jsfiddle.net/k89A5/ – spezzino

Antwort

14

Sie tun so etwas wie dieses Update

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

: Für JQM> = 1,4 Verwendung $.mobile.pageContainer.pagecontainer("getActivePage") anstelle von $.mobile.activePage.

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

+1

super nette ... – Aravin

+1

@Aravinth danke;) – Omar

+0

Sie können einfach das $ ("[data-role = panel]") Panel verwenden ("close"); in einer Rückkehrfunktion, um das Panel zu schließen –

1

nur daten rel hinzufügen = "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>