hjg
2024-07-09 30304784e82d4bba24121328da8eb8490aec4f4f
提交 | 用户 | 时间
58d006 1 h1. Uniform
A 2
3 Sexy form elements with jQuery
4
5 Version 1.7.5
6
7 Requires jQuery 1.4 or newer. 
8
9 Licensed under:
10 MIT License - http://www.opensource.org/licenses/mit-license.php
11
12 h2. Installation
13
14 Installation of Uniform is quite simple. First, make sure you have jQuery 1.4+ installed. Then you’ll want to link to the jquery.uniform.js file and uniform.default.css in the head area of your page:
15
16 bc. <script src="jquery.uniform.js" type="text/javascript"></script>
17 <link rel="stylesheet" href="uniform.default.css" type="text/css" media="screen" charset="utf-8" />
18
19 h2. Basic usage
20
21 Using Uniform can be quite easy as well. Simply call:
22
23 $("select").uniform();
24
25 To “uniform” all possible form elements, just do something like this:
26
27 $("select, input[type=checkbox], input[type=radio], input[type=file], input[type=submit], a.button, button").uniform();
28
29 A complete tag in the HEAD section of your site can therefore look like this:
30
31 bc. <script type='text/javascript'>
32   $(function(){
33     $("select, input:checkbox, input:radio, input:file").uniform();
34   });
35 </script>
36
37 Remember that it is essential to first follow the steps in the Installation section here above.
38
39 h2. Extra parameters
40
41 You can pass in extra parameters to control certain aspects of Uniform. To pass in parameters, use syntax like this:
42
43 bc. $("select").uniform({
44   param1: value,
45   param2: value,
46   param3: value
47 });
48
49 h3. _NEW!_ autoHide(boolean)
50
51 *Default:* true
52 If this option is set to true, Uniform will hide the new elements if the existing elements are currently hidden using display: none;
53
54 *REMEMBER*: If you want to show a select or checkbox you'll need to show the new Uniform div instead of the child element.
55
56 h3. selectClass (string)
57
58 *Default:* “selector”
59 Sets the class given to the wrapper div for select elements.
60
61 @$("select").uniform({selectClass: 'mySelectClass'});@
62
63 h3. radioClass (string)
64
65 *Default:* “radio”
66 Sets the class given to the wrapper div for radio elements.
67
68 @$(":radio").uniform({radioClass: 'myRadioClass'});@
69
70 h3. checkboxClass (string)
71
72 *Default:* “checker”
73 Sets the class given to the wrapper div for checkbox elements.
74
75 @$(":checkbox").uniform({checkboxClass: 'myCheckClass'});@
76
77 h3. fileClass (string)
78
79 *Default:* “uploader”
80 Sets the class given to the wrapper div for file upload elements.
81
82 @$(":file").uniform({fileClass: 'myFileClass'});@
83
84 h3. filenameClass (string)
85
86 *Default:* “filename”
87 Sets the class given to div inside a file upload container that spits out the filename.
88
89 @$(":file").uniform({filenameClass: 'myFilenameClass'});@
90
91 h3. fileBtnClass (string)
92
93 *Default:* “action”
94 Sets the class given to div inside a file upload container that acts as the “Choose file” button.
95
96 @$(":file").uniform({fileBtnClass: 'myFileBtnClass'});@
97
98 h3. fileDefaultText (string)
99
100 *Default:* “No file selected”
101 Sets the text written in the filename div of a file upload input when there is no file selected.
102
103 @$(":file").uniform({fileDefaultText: 'Select a file please'});@
104
105 h3. fileBtnText(string)
106
107 *Default:* “Choose File”
108 Sets the text written on the action button inside a file upload input.
109
110 @$(":file").uniform({fileBtnText: 'Choose&hellip;'});@
111
112 h3. buttonClass(string)
113
114 *Default:* "button"
115 Sets the class given to a button that's been uniformed
116
117 @$("input[type=button]").uniform({buttonClass: 'myBtnClass'});@
118
119 h3. checkedClass (string)
120
121 *Default:* “checked”
122 Sets the class given to elements when they are checked (radios and checkboxes).
123
124 @$(":radio, :checkbox").uniform({checkedClass: 'myCheckedClass'});@
125
126 h3. focusClass (string)
127
128 *Default:* “focus”
129 Sets the class given to elements when they are focused.
130
131 @$("select").uniform({focusClass: 'myFocusClass'});@
132
133 h3. disabledClass (string)
134
135 *Default:* “disabled”
136 Sets the class given to elements when they are disabled.
137
138 @$("select").uniform({disabledClass: 'myDisabledClass'});@
139
140 h3. activeClass (string)
141
142 *Default:* “active”
143 Sets the class given to elements when they are active (pressed).
144
145 @$("select").uniform({activeClass: 'myActiveClass'});@
146
147 h3. hoverClass (string)
148
149 *Default:* “hover”
150 Sets the class given to elements when they are currently hovered.
151
152 @$("select").uniform({hoverClass: 'myHoverClass'});@
153
154 h3. useID (boolean)
155
156 *Default:* true
157 If true, sets an ID on the container div of each form element. The ID is a prefixed version of the same ID of the form element.
158
159 @$("select").uniform({useID: false});@
160
161 h3. idPrefix (string)
162
163 *Default:* “uniform”
164 If useID is set to true, this string is prefixed to element ID’s and attached to the container div of each uniformed element. If you have a checkbox with the ID of “remember-me” the container div would have the ID “uniform-remember-me”.
165
166 @$("select").uniform({idPrefix: 'container'});@
167
168 h3. resetSelector (boolean/string)
169
170 *Default:* false
171 This parameter allows you to use a jQuery-style selector to point to a “reset” button in your form if you have one. Use false if you have no “reset” button, or a selector string that points to the reset button if you have one.
172
173 @$("select").uniform({resetSelector: 'input[type="reset"]'});@
174
175 h2. Additional functions
176
177 In addition to the parameters, there are a couple of other ways you can interact with Uniform.
178
179 h3. $.uniform.update([elem/selector string]);
180
181 If you need to change values on the form dynamically you must tell Uniform to update that element’s style. Fortunately, it’s very simple. Just call this function, and Uniform will do the rest.
182
183 @$.uniform.update("#myUpdatedCheckbox");@
184
185 If you are lazy, or just don’t specifically know which element to update, you can just leave out the parameter (see below) and Uniform will update all Uniformed elements on the page:
186
187 @$.uniform.update();@
188
189 h3. $.uniform.restore([elem/selector string]);
190
191 If you want to "un-uniform" something, simply call this function. It will remove the inline styles, extra dom elements, and event handlers, effectively restoring the element to it's previous state.
192
193 @$.uniform.restore("select");@
194
195 h3. $.uniform.elements[]
196
197 You can get an array of all the elements that have been Uniformed at any time using this public variable. Wouldn’t advise changing the contents though!
198
199 @var uniforms = $.uniform.elements;@
200
201 h2. Customizing CSS
202
203 To edit the CSS of Uniform it is highly recommended to not edit the theme files, but to override them using CSS. Make sure your CSS file comes after the uniform theme css file in the HEAD section.
204
205 It's common to want to resize the selects or other elements. The best way is to set the width property on the div element, span element and the form element itself. Look through the theme CSS in the _presentation_ section to see where the width property is currently set.
206
207 h2. Tips & tricks
208
209 Uniform is supposed to be pretty simple, but there are a few things that can be tricky. Here are some tips that may make your experience simpler:
210
211 Remember to change the CSS classes in the theme if you change the parameters for elements’ classes. This can be tedious work, but if you don’t do it, it’s not going to look correct. Find and Replace is your friend.
212
213 Uniform cannot automatically sniff out dynamic value changes. If you make changes to elements in Javascript or using a Reset button of some kind remember to call $.uniform.update(); to sync the changes with Uniform.
214
215 Uniform is disabled in IE6. It’s not possible to fix due to the way IE6 handles form elements. If you care about IE6 users, give it a quick look to make sure your “naked” form elements look alright in there.
216
217 You’re on your own for styling text inputs and more. Fortunately, things that are not handled by Uniform are pretty easy to skin. :)
218
219 If you have ideas, or bugs, please post them in GitHub. We rely on our users for ideas for improvements and bug reports. Otherwise Uniform will stay static.