├── README.md ├── colorpicker ├── css │ ├── colorpicker.css │ └── layout.css ├── images │ ├── Thumbs.db │ ├── blank.gif │ ├── colorpicker_background.png │ ├── colorpicker_hex.png │ ├── colorpicker_hsb_a.png │ ├── colorpicker_hsb_b.png │ ├── colorpicker_hsb_h.png │ ├── colorpicker_hsb_s.png │ ├── colorpicker_indic.gif │ ├── colorpicker_indic_h.gif │ ├── colorpicker_overlay.png │ ├── colorpicker_rgb_a.png │ ├── colorpicker_rgb_b.png │ ├── colorpicker_rgb_g.png │ ├── colorpicker_rgb_r.png │ ├── colorpicker_select.gif │ ├── colorpicker_submit.png │ ├── custom_background.png │ ├── custom_hex.png │ ├── custom_hsb_b.png │ ├── custom_hsb_h.png │ ├── custom_hsb_s.png │ ├── custom_indic.gif │ ├── custom_rgb_b.png │ ├── custom_rgb_g.png │ ├── custom_rgb_r.png │ ├── custom_submit.png │ ├── select.png │ ├── select2.png │ └── slider.png ├── index.html └── js │ ├── colorpicker.js │ ├── eye.js │ ├── jquery.js │ ├── layout.js │ └── utils.js ├── gradient-editor ├── gradient-editor.css ├── gradient-editor.html └── gradient-editor.js └── jquery-ui-1.8.2.custom ├── css └── ui-lightness │ ├── images │ ├── ui-anim_basic_16x16.gif │ ├── ui-bg_diagonals-thick_18_b81900_40x40.png │ ├── ui-bg_diagonals-thick_20_666666_40x40.png │ ├── ui-bg_flat_10_000000_40x100.png │ ├── ui-bg_glass_100_f6f6f6_1x400.png │ ├── ui-bg_glass_100_fdf5ce_1x400.png │ ├── ui-bg_glass_65_ffffff_1x400.png │ ├── ui-bg_gloss-wave_35_f6a828_500x100.png │ ├── ui-bg_highlight-soft_100_eeeeee_1x100.png │ ├── ui-bg_highlight-soft_75_ffe45c_1x100.png │ ├── ui-icons_222222_256x240.png │ ├── ui-icons_228ef1_256x240.png │ ├── ui-icons_ef8c08_256x240.png │ ├── ui-icons_ffd27a_256x240.png │ └── ui-icons_ffffff_256x240.png │ └── jquery-ui-1.8.2.custom.css ├── index.html └── js ├── jquery-1.4.2.min.js └── jquery-ui-1.8.2.custom.min.js /README.md: -------------------------------------------------------------------------------- 1 | Gradient Editor 2 | =============== 3 | 4 | A gradient editor in jQuery 5 | 6 | PLEASE CONTRIBUTE!!! 7 | 8 | I don't know jQuery and my CSS skills suck so I could 9 | really use some help / advice on best practices. 10 | 11 | 12 | Demo 13 | ---- 14 | 15 | [http://greggman.github.com/gradient-editor/](http://greggman.github.com/gradient-editor/) 16 | 17 | Goals 18 | ----- 19 | 20 | The goal here is to make a gradient editor that can be used to edit both CSS gradients 21 | and more importantly for me, give me data that I can use to generate gradients using 22 | canvas 2d. 23 | 24 | See [issue tracker](https://github.com/greggman/gradient-editor/issues). 25 | 26 | Why? 27 | ---- 28 | 29 | For me the biggest reason is because ramp textures are super important for 3D graphics 30 | and now that WebGL makes them accessible to anyone we need a ramp editor to let people 31 | play with ramp textures. 32 | 33 | Examples: 34 | 35 | * Typical lighting comes up with a multiplier from 0.0 to 1.0 usually based on the 36 | angle of the viewer to the surface vs the angle light to the surface. Instead of 37 | using that number directly, use it as a lookup into a ramp texture for much finer 38 | control. From just adjusting how the lighting looks in general to making interesting 39 | toon shaders you can do it all with a ramp texture. 40 | [See this work-in-progress demo](http://webglsamples.googlecode.com/hg/toon-shading/toon-shading.html) 41 | 42 | * Similarly, instead of having light color be a constant use another ramp texture 43 | to have things in the back lit differently than things in the front. 44 | 45 | * Ramp textures can be used to color particles over time. Pass in the time, use 46 | the time to lookup a color in the ramp texture. 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /colorpicker/css/colorpicker.css: -------------------------------------------------------------------------------- 1 | .colorpicker { 2 | width: 356px; 3 | height: 206px; 4 | overflow: hidden; 5 | position: absolute; 6 | background: url(../images/colorpicker_background.png); 7 | font-family: Arial, Helvetica, sans-serif; 8 | display: none; 9 | } 10 | .colorpicker_color { 11 | width: 150px; 12 | height: 150px; 13 | left: 14px; 14 | top: 13px; 15 | position: absolute; 16 | background: #f00; 17 | overflow: hidden; 18 | cursor: crosshair; 19 | } 20 | .colorpicker_color div { 21 | position: absolute; 22 | top: 0; 23 | left: 0; 24 | width: 150px; 25 | height: 150px; 26 | background: url(../images/colorpicker_overlay.png); 27 | } 28 | .colorpicker_color div div { 29 | position: absolute; 30 | top: 0; 31 | left: 0; 32 | width: 11px; 33 | height: 11px; 34 | overflow: hidden; 35 | background: url(../images/colorpicker_select.gif); 36 | margin: -5px 0 0 -5px; 37 | } 38 | .colorpicker_hue { 39 | position: absolute; 40 | top: 13px; 41 | left: 171px; 42 | width: 35px; 43 | height: 150px; 44 | cursor: n-resize; 45 | } 46 | .colorpicker_hue div { 47 | position: absolute; 48 | width: 35px; 49 | height: 9px; 50 | overflow: hidden; 51 | background: url(../images/colorpicker_indic.gif) left top; 52 | margin: -4px 0 0 0; 53 | left: 0px; 54 | } 55 | .colorpicker_alpha { 56 | position: absolute; 57 | left: 10px; 58 | top: 167px; 59 | width: 150px; 60 | height: 35px; 61 | cursor: e-resize; 62 | } 63 | .colorpicker_alpha div { 64 | position: absolute; 65 | width: 9px; 66 | height: 35px; 67 | overflow: hidden; 68 | background: url(../images/colorpicker_indic_h.gif) left top; 69 | margin: 0 -4px 0 0; 70 | top: 0px; 71 | } 72 | .colorpicker_alpha canvas { 73 | position: absolute; 74 | left: 4px; 75 | top: 9px; 76 | width: 150px; 77 | height: 17px; 78 | background-color: rgba(0,0,0,0); 79 | } 80 | .colorpicker_new_color { 81 | position: absolute; 82 | width: 60px; 83 | height: 30px; 84 | left: 213px; 85 | top: 13px; 86 | background: #f00; 87 | } 88 | .colorpicker_current_color { 89 | position: absolute; 90 | width: 60px; 91 | height: 30px; 92 | left: 283px; 93 | top: 13px; 94 | background: #f00; 95 | } 96 | .colorpicker input { 97 | background-color: transparent; 98 | border: 1px solid transparent; 99 | position: absolute; 100 | font-size: 10px; 101 | font-family: Arial, Helvetica, sans-serif; 102 | color: #898989; 103 | top: 4px; 104 | right: 11px; 105 | text-align: right; 106 | margin: 0; 107 | padding: 0; 108 | height: 11px; 109 | } 110 | .colorpicker_hex { 111 | position: absolute; 112 | width: 72px; 113 | height: 22px; 114 | background: url(../images/colorpicker_hex.png) top; 115 | left: 212px; 116 | top: 172px; 117 | } 118 | .colorpicker_hex input { 119 | right: 6px; 120 | } 121 | .colorpicker_field { 122 | height: 22px; 123 | width: 62px; 124 | background-position: top; 125 | position: absolute; 126 | } 127 | .colorpicker_field span { 128 | position: absolute; 129 | width: 12px; 130 | height: 22px; 131 | overflow: hidden; 132 | top: 0; 133 | right: 0; 134 | cursor: n-resize; 135 | } 136 | .colorpicker_rgba_r { 137 | background-image: url(../images/colorpicker_rgb_r.png); 138 | top: 52px; 139 | left: 212px; 140 | } 141 | .colorpicker_rgba_g { 142 | background-image: url(../images/colorpicker_rgb_g.png); 143 | top: 82px; 144 | left: 212px; 145 | } 146 | .colorpicker_rgba_b { 147 | background-image: url(../images/colorpicker_rgb_b.png); 148 | top: 112px; 149 | left: 212px; 150 | } 151 | .colorpicker_rgba_a { 152 | background-image: url(../images/colorpicker_rgb_a.png); 153 | top: 142px; 154 | left: 212px; 155 | } 156 | .colorpicker_hsba_h { 157 | background-image: url(../images/colorpicker_hsb_h.png); 158 | top: 52px; 159 | left: 282px; 160 | } 161 | .colorpicker_hsba_s { 162 | background-image: url(../images/colorpicker_hsb_s.png); 163 | top: 82px; 164 | left: 282px; 165 | } 166 | .colorpicker_hsba_b { 167 | background-image: url(../images/colorpicker_hsb_b.png); 168 | top: 112px; 169 | left: 282px; 170 | } 171 | .colorpicker_hsba_a { 172 | background-image: url(../images/colorpicker_hsb_a.png); 173 | top: 142px; 174 | left: 282px; 175 | } 176 | .colorpicker_submit { 177 | position: absolute; 178 | width: 22px; 179 | height: 22px; 180 | background: url(../images/colorpicker_submit.png) top; 181 | left: 322px; 182 | top: 172px; 183 | overflow: hidden; 184 | } 185 | .colorpicker_focus { 186 | background-position: center; 187 | } 188 | .colorpicker_hex.colorpicker_focus { 189 | background-position: bottom; 190 | } 191 | .colorpicker_submit.colorpicker_focus { 192 | background-position: bottom; 193 | } 194 | .colorpicker_slider { 195 | background-position: bottom; 196 | } 197 | -------------------------------------------------------------------------------- /colorpicker/css/layout.css: -------------------------------------------------------------------------------- 1 | body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { 2 | margin:0; 3 | padding:0; 4 | } 5 | table { 6 | border-collapse:collapse; 7 | border-spacing:0; 8 | } 9 | fieldset,img { 10 | border:0; 11 | } 12 | address,caption,cite,code,dfn,em,strong,th,var { 13 | font-style:normal; 14 | font-weight:normal; 15 | } 16 | ol,ul { 17 | list-style:none; 18 | } 19 | caption,th { 20 | text-align:left; 21 | } 22 | h1,h2,h3,h4,h5,h6 { 23 | font-size:100%; 24 | font-weight:normal; 25 | } 26 | q:before,q:after { 27 | content:''; 28 | } 29 | abbr,acronym { border:0; 30 | } 31 | html, body { 32 | background-color: #fff; 33 | font-family: Arial, Helvetica, sans-serif; 34 | font-size: 12px; 35 | line-height: 18px; 36 | color: #52697E; 37 | } 38 | body { 39 | text-align: center; 40 | overflow: auto; 41 | } 42 | .wrapper { 43 | width: 700px; 44 | margin: 0 auto; 45 | text-align: left; 46 | } 47 | h1 { 48 | font-size: 21px; 49 | height: 47px; 50 | line-height: 47px; 51 | text-transform: uppercase; 52 | } 53 | .navigationTabs { 54 | height: 23px; 55 | line-height: 23px; 56 | border-bottom: 1px solid #ccc; 57 | } 58 | .navigationTabs li { 59 | float: left; 60 | height: 23px; 61 | line-height: 23px; 62 | padding-right: 3px; 63 | } 64 | .navigationTabs li a{ 65 | float: left; 66 | dispaly: block; 67 | height: 23px; 68 | line-height: 23px; 69 | padding: 0 10px; 70 | overflow: hidden; 71 | color: #52697E; 72 | background-color: #eee; 73 | position: relative; 74 | text-decoration: none; 75 | } 76 | .navigationTabs li a:hover { 77 | background-color: #f0f0f0; 78 | } 79 | .navigationTabs li a.active { 80 | background-color: #fff; 81 | border: 1px solid #ccc; 82 | border-bottom: 0px solid; 83 | } 84 | .tabsContent { 85 | border: 1px solid #ccc; 86 | border-top: 0px solid; 87 | width: 698px; 88 | overflow: hidden; 89 | } 90 | .tab { 91 | padding: 16px; 92 | display: none; 93 | } 94 | .tab h2 { 95 | font-weight: bold; 96 | font-size: 16px; 97 | } 98 | .tab h3 { 99 | font-weight: bold; 100 | font-size: 14px; 101 | margin-top: 20px; 102 | } 103 | .tab p { 104 | margin-top: 16px; 105 | clear: both; 106 | } 107 | .tab ul { 108 | margin-top: 16px; 109 | list-style: disc; 110 | } 111 | .tab li { 112 | margin: 10px 0 0 35px; 113 | } 114 | .tab a { 115 | color: #8FB0CF; 116 | } 117 | .tab strong { 118 | font-weight: bold; 119 | } 120 | .tab pre { 121 | font-size: 11px; 122 | margin-top: 20px; 123 | width: 668px; 124 | overflow: auto; 125 | clear: both; 126 | } 127 | .tab table { 128 | width: 100%; 129 | } 130 | .tab table td { 131 | padding: 6px 10px 6px 0; 132 | vertical-align: top; 133 | } 134 | .tab dt { 135 | margin-top: 16px; 136 | } 137 | 138 | #colorSelector { 139 | position: relative; 140 | width: 36px; 141 | height: 36px; 142 | background: url(../images/select.png); 143 | } 144 | #colorSelector div { 145 | position: absolute; 146 | top: 3px; 147 | left: 3px; 148 | width: 30px; 149 | height: 30px; 150 | background: url(../images/select.png) center; 151 | } 152 | #colorSelector2 { 153 | position: absolute; 154 | top: 0; 155 | left: 0; 156 | width: 36px; 157 | height: 36px; 158 | background: url(../images/select2.png); 159 | } 160 | #colorSelector2 div { 161 | position: absolute; 162 | top: 4px; 163 | left: 4px; 164 | width: 28px; 165 | height: 28px; 166 | background: url(../images/select2.png) center; 167 | } 168 | #colorpickerHolder2 { 169 | top: 32px; 170 | left: 0; 171 | width: 356px; 172 | height: 0; 173 | overflow: hidden; 174 | position: absolute; 175 | } 176 | #colorpickerHolder2 .colorpicker { 177 | background-image: url(../images/custom_background.png); 178 | position: absolute; 179 | bottom: 0; 180 | left: 0; 181 | } 182 | #colorpickerHolder2 .colorpicker_hue div { 183 | background-image: url(../images/custom_indic.gif); 184 | } 185 | #colorpickerHolder2 .colorpicker_hex { 186 | background-image: url(../images/custom_hex.png); 187 | } 188 | #colorpickerHolder2 .colorpicker_rgb_r { 189 | background-image: url(../images/custom_rgb_r.png); 190 | } 191 | #colorpickerHolder2 .colorpicker_rgb_g { 192 | background-image: url(../images/custom_rgb_g.png); 193 | } 194 | #colorpickerHolder2 .colorpicker_rgb_b { 195 | background-image: url(../images/custom_rgb_b.png); 196 | } 197 | #colorpickerHolder2 .colorpicker_hsb_s { 198 | background-image: url(../images/custom_hsb_s.png); 199 | display: none; 200 | } 201 | #colorpickerHolder2 .colorpicker_hsb_h { 202 | background-image: url(../images/custom_hsb_h.png); 203 | display: none; 204 | } 205 | #colorpickerHolder2 .colorpicker_hsb_b { 206 | background-image: url(../images/custom_hsb_b.png); 207 | display: none; 208 | } 209 | #colorpickerHolder2 .colorpicker_submit { 210 | background-image: url(../images/custom_submit.png); 211 | } 212 | #colorpickerHolder2 .colorpicker input { 213 | color: #778398; 214 | } 215 | #customWidget { 216 | position: relative; 217 | height: 36px; 218 | } 219 | -------------------------------------------------------------------------------- /colorpicker/images/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/Thumbs.db -------------------------------------------------------------------------------- /colorpicker/images/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/blank.gif -------------------------------------------------------------------------------- /colorpicker/images/colorpicker_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/colorpicker_background.png -------------------------------------------------------------------------------- /colorpicker/images/colorpicker_hex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/colorpicker_hex.png -------------------------------------------------------------------------------- /colorpicker/images/colorpicker_hsb_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/colorpicker_hsb_a.png -------------------------------------------------------------------------------- /colorpicker/images/colorpicker_hsb_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/colorpicker_hsb_b.png -------------------------------------------------------------------------------- /colorpicker/images/colorpicker_hsb_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/colorpicker_hsb_h.png -------------------------------------------------------------------------------- /colorpicker/images/colorpicker_hsb_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/colorpicker_hsb_s.png -------------------------------------------------------------------------------- /colorpicker/images/colorpicker_indic.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/colorpicker_indic.gif -------------------------------------------------------------------------------- /colorpicker/images/colorpicker_indic_h.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/colorpicker_indic_h.gif -------------------------------------------------------------------------------- /colorpicker/images/colorpicker_overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/colorpicker_overlay.png -------------------------------------------------------------------------------- /colorpicker/images/colorpicker_rgb_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/colorpicker_rgb_a.png -------------------------------------------------------------------------------- /colorpicker/images/colorpicker_rgb_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/colorpicker_rgb_b.png -------------------------------------------------------------------------------- /colorpicker/images/colorpicker_rgb_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/colorpicker_rgb_g.png -------------------------------------------------------------------------------- /colorpicker/images/colorpicker_rgb_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/colorpicker_rgb_r.png -------------------------------------------------------------------------------- /colorpicker/images/colorpicker_select.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/colorpicker_select.gif -------------------------------------------------------------------------------- /colorpicker/images/colorpicker_submit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/colorpicker_submit.png -------------------------------------------------------------------------------- /colorpicker/images/custom_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/custom_background.png -------------------------------------------------------------------------------- /colorpicker/images/custom_hex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/custom_hex.png -------------------------------------------------------------------------------- /colorpicker/images/custom_hsb_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/custom_hsb_b.png -------------------------------------------------------------------------------- /colorpicker/images/custom_hsb_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/custom_hsb_h.png -------------------------------------------------------------------------------- /colorpicker/images/custom_hsb_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/custom_hsb_s.png -------------------------------------------------------------------------------- /colorpicker/images/custom_indic.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/custom_indic.gif -------------------------------------------------------------------------------- /colorpicker/images/custom_rgb_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/custom_rgb_b.png -------------------------------------------------------------------------------- /colorpicker/images/custom_rgb_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/custom_rgb_g.png -------------------------------------------------------------------------------- /colorpicker/images/custom_rgb_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/custom_rgb_r.png -------------------------------------------------------------------------------- /colorpicker/images/custom_submit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/custom_submit.png -------------------------------------------------------------------------------- /colorpicker/images/select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/select.png -------------------------------------------------------------------------------- /colorpicker/images/select2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/select2.png -------------------------------------------------------------------------------- /colorpicker/images/slider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/greggman/gradient-editor/267320cecebabdb401545c2ed2934c83fe231ece/colorpicker/images/slider.png -------------------------------------------------------------------------------- /colorpicker/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 |A simple component to select color in the same way you select color in Adobe Photoshop
25 |23.05.2009 - Check Download tab
27 |Dual licensed under the MIT and GPL licenses.
36 |Flat mode.
38 |39 |
40 |41 | $('#colorpickerHolder').ColorPicker({flat: true}); 42 |43 |
Custom skin and using flat mode to display the color picker in a custom widget.
44 |Attached to an text field and using callback functions to update the color with field's value and set the value back in the field by submiting the color.
51 | 52 | 53 | 54 |$('#colorpickerField1, #colorpickerField2, #colorpickerField3').ColorPicker({ 55 | onSubmit: function(hsb, hex, rgb, el) { 56 | $(el).val(hex); 57 | $(el).ColorPickerHide(); 58 | }, 59 | onBeforeShow: function () { 60 | $(this).ColorPickerSetColor(this.value); 61 | } 62 | }) 63 | .bind('keyup', function(){ 64 | $(this).ColorPickerSetColor(this.value); 65 | }); 66 |67 |
Attached to DOMElement and using callbacks to live preview the color and adding animation.
68 |69 |
72 | $('#colorSelector').ColorPicker({ 73 | color: '#0000ff', 74 | onShow: function (colpkr) { 75 | $(colpkr).fadeIn(500); 76 | return false; 77 | }, 78 | onHide: function (colpkr) { 79 | $(colpkr).fadeOut(500); 80 | return false; 81 | }, 82 | onChange: function (hsb, hex, rgb) { 83 | $('#colorSelector div').css('backgroundColor', '#' + hex); 84 | } 85 | }); 86 |87 |
colorpicker.zip (73 kb): jQuery, Javscript files, CSS files, images, examples and instructions.
91 |Attach the Javascript and CSS files to your document. Edit CSS file and fix the paths to images and change colors to fit your site theme.
118 |119 | <link rel="stylesheet" media="screen" type="text/css" href="css/colorpicker.css" /> 120 | <script type="text/javascript" src="js/colorpicker.js"></script> 121 |122 |
All you have to do is to select the elements in a jQuery way and call the plugin.
124 |125 | $('input').ColorPicker(options); 126 |127 |
A hash of parameters. All parameters are optional.
129 |eventName | 132 |string | 133 |The desired event to trigger the colorpicker. Default: 'click' | 134 |
color | 137 |string or hash | 138 |The default color. String for hex color or hash for RGB and HSB ({r:255, r:0, b:0}) . Default: 'ff0000' | 139 |
flat | 142 |boolean | 143 |Whatever if the color picker is appended to the element or triggered by an event. Default false | 144 |
livePreview | 147 |boolean | 148 |Whatever if the color values are filled in the fields while changing values on selector or a field. If false it may improve speed. Default true | 149 |
onShow | 152 |function | 153 |Callback function triggered when the color picker is shown | 154 |
onBeforeShow | 157 |function | 158 |Callback function triggered before the color picker is shown | 159 |
onHide | 162 |function | 163 |Callback function triggered when the color picker is hidden | 164 |
onChange | 167 |function | 168 |Callback function triggered when the color is changed | 169 |
onSubmit | 172 |function | 173 |Callback function triggered when the color it is chosen | 174 |
If you want to set a new color.
178 |$('input').ColorPickerSetColor(color);179 |
The 'color' argument is the same format as the option color, string for hex color or hash for RGB and HSB ({r:255, r:0, b:0}).
180 |This page demonstrates the widgets you downloaded using the theme you selected in the download builder. We've included and linked to minified versions of jQuery, your personalized copy of jQuery UI (js/jquery-ui-1.8.2.custom.min.js), and css/ui-lightness/jquery-ui-1.8.2.custom.css which imports the entire jQuery UI CSS Framework. You can choose to link a subset of the CSS Framework depending on your needs.
77 |You've downloaded components and a theme that are compatible with jQuery 1.3+. Please make sure you are using jQuery 1.3+ in your production environment.
78 | 79 |YOUR COMPONENTS:
80 | 81 | 82 |Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
134 |=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()}, 80 | CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m, 81 | g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)}, 82 | text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}}, 83 | setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return hl[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h= 84 | h[3];l=0;for(m=h.length;l =0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m=== 86 | "="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g, 87 | h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l ";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&& 90 | q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML=""; 91 | if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}(); 92 | (function(){var g=s.createElement("div");g.innerHTML="";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}: 93 | function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q =0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f
0)for(var j=d;j 0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j= 96 | {},i;if(f&&a.length){e=0;for(var o=a.length;e -1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a=== 97 | "string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode", 98 | d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")? 99 | a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType=== 100 | 1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/"+d+">"},F={option:[1,""],legend:[1,""],thead:[1," ","
"],tr:[2,"","
"],td:[3,""],col:[2,"
"," "],area:[1,""],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div
"," ",""];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= 102 | c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, 103 | wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, 104 | prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, 105 | this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); 106 | return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja, 107 | ""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]); 111 | return this}else{e=0;for(var j=d.length;e 0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["", 112 | ""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]===" "&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e= 113 | c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]? 114 | c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja= 115 | function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter= 116 | Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a, 117 | "border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f= 118 | a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b= 119 | a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/