97cf96e5208e60c260a42ef60bd5a1ed48712958
[platform/framework/web/web-ui-fw.git] / libs / js / jquery-mobile-1.0.1pre / docs / forms / slider / index.html
1 <!DOCTYPE html>
2 <html>
3         <head>
4         <meta charset="utf-8">
5         <meta name="viewport" content="width=device-width, initial-scale=1">
6         <title>jQuery Mobile Docs - Slider</title>
7         <link rel="stylesheet"  href="../../../css/themes/default/" />
8         <link rel="stylesheet" href="../../_assets/css/jqm-docs.css"/>
9         <script src="../../../js/jquery.js"></script>
10         <script src="../../../experiments/themeswitcher/jquery.mobile.themeswitcher.js"></script>
11         <script src="../../_assets/js/jqm-docs.js"></script>
12         <script src="../../../js/"></script>
13 </head>
14 <body>
15
16         <div data-role="page" class="type-interior">
17
18                 <div data-role="header" data-theme="f">
19                 <h1>Slider</h1>
20                 <a href="../../../" data-icon="home" data-iconpos="notext" data-direction="reverse" class="ui-btn-right jqm-home">Home</a>
21         </div><!-- /header -->
22
23         <div data-role="content">
24                 <div class="content-primary">
25
26                 <form action="#" method="get">
27                         <h2>Slider</h2>
28                         
29                         <ul data-role="controlgroup" data-type="horizontal" class="localnav">
30                                 <li><a href="index.html" data-role="button" data-transition="fade" class="ui-btn-active">Basics</a></li>
31                                 <li><a href="options.html" data-role="button" data-transition="fade">Options</a></li>
32                                 <li><a href="methods.html" data-role="button" data-transition="fade">Methods</a></li>
33                                 <li><a href="events.html" data-role="button" data-transition="fade">Events</a></li>
34                         </ul>
35     
36                         <p>To add a slider widget to your page, use a standard <code>input</code> with the <code>type="range"</code> attribute.  The input's <code>value</code> is used to configure the starting position of the handle and the value is populated in the text input. Specify <code>min</code> and <code>max</code> attribute values to set the slider's range. The framework will parse these attributes to configure the slider widget. View the <a href="../../api/data-attributes.html">data- attribute reference</a> to see all the possible attributes you can add to sliders.</p>
37                         
38                         <p>As you drag the slider's handle, the framework will update the native input's value (and vice-versa) so they are always in sync; this ensures that the value is submitted with the form.</p>
39                         <p>Set the <code>for</code> attribute of the <code>label</code> to match the ID of the <code>input</code> so they are semantically associated. It's possible to <a href="../docs-forms.html">accessibly hide the label</a> if it's not desired in the page layout, but we require that it is present in the markup for semantic and accessibility reasons.</p>
40                         
41                         <p>The framework will find all <code>input</code> elements with a <code>type="range"</code> and automatically enhance them into a slider with an accompanying input, no need to apply a <code>data-role</code> attribute. To prevent the automatic enhancement of this input into a slider, add <code>data-role="none"</code> attribute to the <code>input</code> and wrap them in a <code>div</code> with the <code> data-role="fieldcontain"</code> attribute to group them.</p>
42                         
43 <pre><code>
44    &lt;label for=&quot;slider-0&quot;&gt;Input slider:&lt;/label&gt;
45    &lt;input type=&quot;range&quot; name=&quot;slider&quot; id=&quot;slider-0&quot; value=&quot;25&quot; min=&quot;0&quot; max=&quot;100&quot;  /&gt;
46 </code></pre>
47
48                                 <p>The default slider is displayed like this:</p>
49                                         <label for="slider-0">Input slider:</label>
50                                         <input type="range" name="slider-1" id="slider-0" value="25" min="0" max="100"  />
51                         
52                                 <p>Optionally wrap the slider markup in a container with the <code>data-role="fieldcontain"</code> attribute to help visually group it in a longer form.</p>
53                         
54
55 <pre><code>
56 <strong>&lt;div data-role=&quot;fieldcontain&quot;&gt;
57 </strong>   &lt;label for=&quot;slider&quot;&gt;Input slider:&lt;/label&gt;
58    &lt;input type=&quot;range&quot; name=&quot;slider&quot; id=&quot;slider&quot; value=&quot;25&quot; min=&quot;0&quot; max=&quot;100&quot;  /&gt;
59 <strong>&lt;/div&gt;
60 </strong></code></pre>
61
62                                                 <p>The slider is now displayed like this:</p>
63                                                 <div data-role="fieldcontain">
64                                                         <label for="slider-1">Input slider:</label>
65                                                         <input type="range" name="slider-1" id="slider-1" value="25" min="0" max="100" />
66                                                 </div>
67
68                                                 <p>Sliders also respond to key commands. Right Arrow, Up Arrow and Page Up keys increase the value; Left Arrow, Down Arrow and Page Down keys decrease it. To move the slider to its minimum or maximum value, use the Home or End key, respectively.</p>
69                                                 
70                                                 
71                 <h2>Calling the slider plugin</h2>
72
73 <p>This plugin will auto initialize on any page that contains a text <code>input</code> with the <code>type="range"</code> attribute. However, if needed you can directly call the <code>slider</code> plugin on any selector, just like any jQuery plugin:</p>
74 <pre><code>
75 $('input').slider();                    
76 </code></pre>
77     
78
79                 <h2>Theming the slider</h2>
80                 <p>To set the theme swatch for the slider, add a <code>data-theme</code> attribute to the <code>input</code> which will apply the theme to both the input, handle and track. The track swatch can be set separately by adding the  <code>data-track-theme</code> attribute to apply the down state version of the selected button swatch.</p>
81                 
82                 <pre><code>
83 &lt;div data-role=&quot;fieldcontain&quot;&gt;
84         &lt;label for=&quot;slider-2&quot;&gt;Input slider:&lt;/label&gt;
85         &lt;input type=&quot;range&quot; name=&quot;slider-2&quot; id=&quot;slider-2&quot; value=&quot;25&quot; min=&quot;0&quot; max=&quot;100&quot; <strong>data-theme=&quot;a&quot; data-track-theme=&quot;b&quot;</strong> /&gt;
86 &lt;/div&gt;
87                 </code></pre>
88                 
89                 <p>This will produce a themed slider:</p>
90                 <div data-role="fieldcontain">
91                         <label for="slider-2">Input slider:</label>
92                         <input type="range" name="slider-2" id="slider-2" value="25" min="0" max="100" data-theme="a" data-track-theme="b" />
93                 </div>
94                 </form>
95         </div><!--/content-primary -->          
96         
97         <div class="content-secondary">
98                 
99                 <div data-role="collapsible" data-collapsed="true" data-theme="b" data-content-theme="d">
100                         
101                                 <h3>More in this section</h3>
102                                 
103                                 <ul data-role="listview" data-theme="c" data-dividertheme="d">
104                                 
105                                         <li data-role="list-divider">Form elements</li>
106                                         <li><a href="../docs-forms.html">Form basics</a></li>
107                                         <li><a href="../forms-all.html">Form element gallery</a></li>
108                                         <li><a href="../textinputs/index.html">Text inputs</a></li>
109                                         <li><a href="../search/">Search input</a></li>
110                                         <li data-theme="a"><a href="index.html">Slider</a></li>
111                                         <li><a href="../switch/">Flip toggle switch</a></li>
112                                         <li><a href="../radiobuttons/">Radio buttons</a></li>
113                                         <li><a href="../checkboxes/">Checkboxes</a></li>
114                                         <li><a href="../selects/">Select menus</a></li>
115                                         <li><a href="../forms-themes.html">Theming forms</a></li>
116                                         <li><a href="../forms-all-native.html">Native form elements</a></li>
117                                         <li><a href="../forms-sample.html">Submitting forms</a></li>
118                                         
119         
120                                 </ul>
121                 </div>
122         </div>          
123
124 </div><!-- /content -->
125
126 <div data-role="footer" class="footer-docs" data-theme="c">
127                 <p>&copy; 2011 The jQuery Project</p>
128 </div>
129         
130 </div><!-- /page -->
131
132 </body>
133 </html>
134