expandable menu
by Tom Scott
HTML
<!DOCTYPE html>
<html>
<head>
<title>jQM Complex Demo</title>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=no; target-densityDpi=device-dpi"/>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css" />
<!--<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>-->
<script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>
</head>
<body>
<div data-role="page" id="index" data-theme="a" >
<div data-role="content">
</div>
<div data-role="panel" id="mypanel" data-dismissible="false">
<div data-role="collapsibleset" data-content-theme="a" data-iconpos="right" id="set" data-inset="false" data-expanded-icon="carat-d" data-collapsed-icon="carat-r" class="ui-nodisc-icon ui-alt-icon">
<div data-role="collapsible" id="set" data-collapsed="true">
<h3>Section 1</h3>
<ul data-role="listview">
<li><a href="#">Acura</a></li>
<li><a href="#">Audi</a></li>
<li><a href="#">BMW</a></li>
<li><a href="#">Cadillac</a></li>
<li><a href="#">Ferrari</a></li>
</ul>
</div>
</div>
<div data-role="collapsibleset" data-content-theme="a" data-iconpos="right" id="set2" data-inset="false" data-expanded-icon="carat-d" data-collapsed-icon="carat-r" class="ui-nodisc-icon ui-alt-icon">
<div data-role="collapsible" id="set2" data-collapsed="true">
<h3>Section 1</h3>
...
CSS
.ui-collapsible-inset, .ui-collapsible-set {
margin: 0 !important;
}
.ui-collapsible h3 a {
border-top-width: 0 !important;
background: #F9F9F9 !important;
font-weight: normal !important;
}
.ui-listview li a {
font-weight: normal !important;
}
.ui-panel {
background: #F9F9F9 !important;
}
.ui-panel-inner {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.ui-panel-display-reveal {
box-shadow: 0 0 0 rgba(0, 0, 0, 0.15) inset !important;
}
#mypanel .ui-btn:after {
opacity: 0;
transition: opacity 1000ms ease 0s;
}
#mypanel .ui-btn:after, {
opacity: 0.8;
}
#mypanel .ui-btn:hover:after {
opacity: 0.8;
}
ui-btn:after {
background-color: rgba(0, 0, 0, 0);
}
JavaScript
$(document).on('pagebeforeshow', '#index', function(){
$( "#mypanel" ).panel( "open");
});