File: popup-panels.html

package info (click to toggle)
jquery-mobile 1.2.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 5,068 kB
  • ctags: 243
  • sloc: php: 113; makefile: 54
file content (129 lines) | stat: -rw-r--r-- 5,182 bytes parent folder | download
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>
&lt;a href="#popupPanel" data-rel="popup" data-transition="slide" data-position-to="window" data-role="button"&gt;Open panel&lt;/a&gt;
			
&lt;div data-role="popup" id="popupPanel" data-corners="false" data-theme="none" data-shadow="false" data-tolerance="0,0"&gt;

    &lt;button data-theme="a" data-icon="back" data-mini="true"&gt;Back&lt;/button&gt;
    &lt;button data-theme="a" data-icon="grid" data-mini="true"&gt;Menu&lt;/button&gt;
    &lt;button data-theme="a" data-icon="search" data-mini="true"&gt;Search&lt;/button&gt;
	 
&lt;/div&gt;
</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 &amp; 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 &amp; caching pages</a></li>
								<li><a href="../page-navmodel.html">Ajax, hashes &amp; 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>&copy; 2012 jQuery Foundation and other contributors</p>
</div>

</div><!-- /page -->

</body>
</html>