1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
|
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jQuery Mobile Docs - Popup panels</title>
<link rel="stylesheet" href="../../../css/themes/default/jquery.mobile-1.2.0.css" />
<link rel="stylesheet" href="../../_assets/css/jqm-docs.css"/>
<script src="../../../js/jquery.js"></script>
<script src="../../../docs/_assets/js/jqm-docs.js"></script>
<script src="../../../js/jquery.mobile-1.2.0.js"></script>
<script src="popup-examples.js"></script>
<link rel="stylesheet" href="popup-examples.css" />
</head>
<body>
<div data-role="page" class="type-interior">
<div data-role="header" data-theme="f">
<h1>Popup panels</h1>
<a href="../../../" data-icon="home" data-iconpos="notext" data-direction="reverse">Home</a>
<a href="../../nav.html" data-icon="search" data-iconpos="notext" data-rel="dialog" data-transition="fade">Search</a>
</div><!-- /header -->
<div data-role="content" class="ui-body">
<div class="content-primary">
<a href="index.html" data-role="button" data-transition="fade" data-icon="arrow-l" data-inline="true" data-mini="true">Back to Popups</a>
<h2>Overlay panels</h2>
<p>Taking customization further, here is an example of a popup that has been customized to look like a vertical panel with three mini buttons:</p>
<a href="#popupPanel" data-rel="popup" data-transition="slide" data-position-to="window" data-role="button" data-theme="b" data-inline="true">Open panel</a>
<div data-role="popup" id="popupPanel" data-corners="false" data-theme="none" data-shadow="false" data-tolerance="0,0">
<button data-theme="a" data-icon="back" data-mini="true">Back</button>
<button data-theme="a" data-icon="grid" data-mini="true">Menu</button>
<button data-theme="a" data-icon="search" data-mini="true">Search</button>
</div>
<p>Here is the HTML markup for the button and panel:</p>
<pre><code>
<a href="#popupPanel" data-rel="popup" data-transition="slide" data-position-to="window" data-role="button">Open panel</a>
<div data-role="popup" id="popupPanel" data-corners="false" data-theme="none" data-shadow="false" data-tolerance="0,0">
<button data-theme="a" data-icon="back" data-mini="true">Back</button>
<button data-theme="a" data-icon="grid" data-mini="true">Menu</button>
<button data-theme="a" data-icon="search" data-mini="true">Search</button>
</div>
</code></pre>
<p>To style the panel, and attach it to the right edge, the following CSS is used. Note that <code>#popupPanel-popup</code> is the ID of the container div generated by the framework.</p>
<pre><code>
#popupPanel-popup {
right: 0 !important;
left: auto !important;
}
#popupPanel {
width: 200px;
border: 1px solid #000;
border-right: none;
background: rgba(0,0,0,.5);
margin: -1px 0;
}
#popupPanel .ui-btn {
margin: 2em 15px;
}
</code></pre>
<p>Because the popup container is positioned absolute, you can't make the panel full height with <code>height:100%;</code>. This small script sets the height of the popup to the actual screen height.</p>
<pre><code>
$( "#popupPanel" ).on({
popupbeforeposition: function() {
var h = $( window ).height();
$( "#popupPanel" ).css( "height", h );
}
});
</code></pre>
</div><!--/content-primary -->
<div class="content-secondary">
<div data-role="collapsible" data-collapsed="true" data-theme="b" data-content-theme="d">
<h3>More in this section</h3>
<ul data-role="listview" data-theme="c" data-dividertheme="d">
<li data-role="list-divider">Pages & Dialogs</li>
<li><a href="../page-anatomy.html">Anatomy of a page</a></li>
<li><a href="../page-template.html" data-ajax="false">Single page template</a></li>
<li><a href="../multipage-template.html" data-ajax="false">Multi-page template</a></li>
<li><a href="../page-titles.html">Page titles</a></li>
<li><a href="../page-links.html">Linking pages</a></li>
<li><a href="../page-transitions.html" data-ajax="false">Page transitions</a></li>
<li><a href="../loader.html">Page loading widget</a></li>
<li><a href="../dialog/index.html">Dialogs</a></li>
<li data-theme="a"><a href="index.html">Popups</a></li>
<li><a href="../page-cache.html">Prefetching & caching pages</a></li>
<li><a href="../page-navmodel.html">Ajax, hashes & history</a></li>
<li><a href="../page-dynamic.html">Dynamically Injecting Pages</a></li>
<li><a href="../page-scripting.html">Scripting pages</a></li>
<li><a href="../phonegap.html">PhoneGap apps</a></li>
<li><a href="../touchoverflow.html">touchOverflow feature</a></li>
<li><a href="../pages-themes.html">Theming pages</a></li>
</ul>
</div>
</div>
</div><!-- /content -->
<div data-role="footer" class="footer-docs" data-theme="c">
<p class="jqm-version"></p>
<p>© 2012 jQuery Foundation and other contributors</p>
</div>
</div><!-- /page -->
</body>
</html>
|