├── .gitignore ├── LICENSE.txt ├── README.md ├── demo ├── bootstrap │ ├── css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap.css │ │ └── bootstrap.min.css │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ └── js │ │ ├── bootstrap.js │ │ └── bootstrap.min.js ├── img │ └── postovoy.net.jpg ├── index.html └── style.css ├── jquery.airStickyBlock.js └── jquery.airStickyBlock.min.js /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/**/* -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright Postovoy - developers blog, http://postovoy.net 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # jQuery.airStickyBlock 2 | 3 | jQuery скрипт фиксации "липкого" блока при скроллинге для адаптивных сайтов 4 | 5 | Подробнее [http://postovoy.net](http://postovoy.net/jquery-plagin-fiksiruyuschegosya-lipkogo-bloka.html) 6 | 7 | ### Fork 8 | * Добавлена возможность устанавливать отступ сверху 9 | * Добавлен обработчик перерисовки 10 | 11 | #### Инициализация: 12 |
$('.airSticky').airStickyBlock();
13 | 14 | #### Настройки: 15 |
$('.airSticky').airStickyBlock({
16 |   debug: false, // Режим отладки, по умолчанию false
17 |   stopBlock: '.airSticky_stop-block', // Класса контейнера, в котором находится сетка, по умолчанию .airSticky_stop-block
18 |   offsetTop: 0 // отступ сверху
19 | });
20 | 21 | #### Событие перерисовки позиции: 22 | *пересчитает позицию* 23 |
$('.some_class').trigger('render.airStickyBlock');
-------------------------------------------------------------------------------- /demo/bootstrap/css/bootstrap-theme.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.3.2 (http://getbootstrap.com) 3 | * Copyright 2011-2015 Twitter, Inc. 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 | */ 6 | 7 | /*! 8 | * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=bb9612d73d64dc13b70a) 9 | * Config saved to config.json and https://gist.github.com/bb9612d73d64dc13b70a 10 | */ 11 | .btn-default, 12 | .btn-primary, 13 | .btn-success, 14 | .btn-info, 15 | .btn-warning, 16 | .btn-danger { 17 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); 18 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); 19 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); 20 | } 21 | .btn-default:active, 22 | .btn-primary:active, 23 | .btn-success:active, 24 | .btn-info:active, 25 | .btn-warning:active, 26 | .btn-danger:active, 27 | .btn-default.active, 28 | .btn-primary.active, 29 | .btn-success.active, 30 | .btn-info.active, 31 | .btn-warning.active, 32 | .btn-danger.active { 33 | -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); 34 | box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); 35 | } 36 | .btn-default .badge, 37 | .btn-primary .badge, 38 | .btn-success .badge, 39 | .btn-info .badge, 40 | .btn-warning .badge, 41 | .btn-danger .badge { 42 | text-shadow: none; 43 | } 44 | .btn:active, 45 | .btn.active { 46 | background-image: none; 47 | } 48 | .btn-default { 49 | background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%); 50 | background-image: -o-linear-gradient(top, #ffffff 0%, #e0e0e0 100%); 51 | background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#e0e0e0)); 52 | background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%); 53 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); 54 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 55 | background-repeat: repeat-x; 56 | border-color: #dbdbdb; 57 | text-shadow: 0 1px 0 #fff; 58 | border-color: #ccc; 59 | } 60 | .btn-default:hover, 61 | .btn-default:focus { 62 | background-color: #e0e0e0; 63 | background-position: 0 -15px; 64 | } 65 | .btn-default:active, 66 | .btn-default.active { 67 | background-color: #e0e0e0; 68 | border-color: #dbdbdb; 69 | } 70 | .btn-default.disabled, 71 | .btn-default:disabled, 72 | .btn-default[disabled] { 73 | background-color: #e0e0e0; 74 | background-image: none; 75 | } 76 | .btn-primary { 77 | background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%); 78 | background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%); 79 | background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88)); 80 | background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%); 81 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0); 82 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 83 | background-repeat: repeat-x; 84 | border-color: #245580; 85 | } 86 | .btn-primary:hover, 87 | .btn-primary:focus { 88 | background-color: #265a88; 89 | background-position: 0 -15px; 90 | } 91 | .btn-primary:active, 92 | .btn-primary.active { 93 | background-color: #265a88; 94 | border-color: #245580; 95 | } 96 | .btn-primary.disabled, 97 | .btn-primary:disabled, 98 | .btn-primary[disabled] { 99 | background-color: #265a88; 100 | background-image: none; 101 | } 102 | .btn-success { 103 | background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); 104 | background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%); 105 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641)); 106 | background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); 107 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); 108 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 109 | background-repeat: repeat-x; 110 | border-color: #3e8f3e; 111 | } 112 | .btn-success:hover, 113 | .btn-success:focus { 114 | background-color: #419641; 115 | background-position: 0 -15px; 116 | } 117 | .btn-success:active, 118 | .btn-success.active { 119 | background-color: #419641; 120 | border-color: #3e8f3e; 121 | } 122 | .btn-success.disabled, 123 | .btn-success:disabled, 124 | .btn-success[disabled] { 125 | background-color: #419641; 126 | background-image: none; 127 | } 128 | .btn-info { 129 | background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); 130 | background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); 131 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2)); 132 | background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); 133 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); 134 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 135 | background-repeat: repeat-x; 136 | border-color: #28a4c9; 137 | } 138 | .btn-info:hover, 139 | .btn-info:focus { 140 | background-color: #2aabd2; 141 | background-position: 0 -15px; 142 | } 143 | .btn-info:active, 144 | .btn-info.active { 145 | background-color: #2aabd2; 146 | border-color: #28a4c9; 147 | } 148 | .btn-info.disabled, 149 | .btn-info:disabled, 150 | .btn-info[disabled] { 151 | background-color: #2aabd2; 152 | background-image: none; 153 | } 154 | .btn-warning { 155 | background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); 156 | background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); 157 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316)); 158 | background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); 159 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); 160 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 161 | background-repeat: repeat-x; 162 | border-color: #e38d13; 163 | } 164 | .btn-warning:hover, 165 | .btn-warning:focus { 166 | background-color: #eb9316; 167 | background-position: 0 -15px; 168 | } 169 | .btn-warning:active, 170 | .btn-warning.active { 171 | background-color: #eb9316; 172 | border-color: #e38d13; 173 | } 174 | .btn-warning.disabled, 175 | .btn-warning:disabled, 176 | .btn-warning[disabled] { 177 | background-color: #eb9316; 178 | background-image: none; 179 | } 180 | .btn-danger { 181 | background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); 182 | background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%); 183 | background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a)); 184 | background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); 185 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); 186 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 187 | background-repeat: repeat-x; 188 | border-color: #b92c28; 189 | } 190 | .btn-danger:hover, 191 | .btn-danger:focus { 192 | background-color: #c12e2a; 193 | background-position: 0 -15px; 194 | } 195 | .btn-danger:active, 196 | .btn-danger.active { 197 | background-color: #c12e2a; 198 | border-color: #b92c28; 199 | } 200 | .btn-danger.disabled, 201 | .btn-danger:disabled, 202 | .btn-danger[disabled] { 203 | background-color: #c12e2a; 204 | background-image: none; 205 | } 206 | .thumbnail, 207 | .img-thumbnail { 208 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); 209 | box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); 210 | } 211 | .dropdown-menu > li > a:hover, 212 | .dropdown-menu > li > a:focus { 213 | background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); 214 | background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); 215 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); 216 | background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); 217 | background-repeat: repeat-x; 218 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); 219 | background-color: #e8e8e8; 220 | } 221 | .dropdown-menu > .active > a, 222 | .dropdown-menu > .active > a:hover, 223 | .dropdown-menu > .active > a:focus { 224 | background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); 225 | background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); 226 | background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); 227 | background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); 228 | background-repeat: repeat-x; 229 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); 230 | background-color: #2e6da4; 231 | } 232 | .navbar-default { 233 | background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%); 234 | background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%); 235 | background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f8f8f8)); 236 | background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%); 237 | background-repeat: repeat-x; 238 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); 239 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 240 | border-radius: 4px; 241 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075); 242 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075); 243 | } 244 | .navbar-default .navbar-nav > .open > a, 245 | .navbar-default .navbar-nav > .active > a { 246 | background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); 247 | background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); 248 | background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2)); 249 | background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%); 250 | background-repeat: repeat-x; 251 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0); 252 | -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075); 253 | box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075); 254 | } 255 | .navbar-brand, 256 | .navbar-nav > li > a { 257 | text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25); 258 | } 259 | .navbar-inverse { 260 | background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222222 100%); 261 | background-image: -o-linear-gradient(top, #3c3c3c 0%, #222222 100%); 262 | background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222222)); 263 | background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%); 264 | background-repeat: repeat-x; 265 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); 266 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 267 | } 268 | .navbar-inverse .navbar-nav > .open > a, 269 | .navbar-inverse .navbar-nav > .active > a { 270 | background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%); 271 | background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%); 272 | background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f)); 273 | background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%); 274 | background-repeat: repeat-x; 275 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0); 276 | -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25); 277 | box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25); 278 | } 279 | .navbar-inverse .navbar-brand, 280 | .navbar-inverse .navbar-nav > li > a { 281 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); 282 | } 283 | .navbar-static-top, 284 | .navbar-fixed-top, 285 | .navbar-fixed-bottom { 286 | border-radius: 0; 287 | } 288 | @media (max-width: 767px) { 289 | .navbar .navbar-nav .open .dropdown-menu > .active > a, 290 | .navbar .navbar-nav .open .dropdown-menu > .active > a:hover, 291 | .navbar .navbar-nav .open .dropdown-menu > .active > a:focus { 292 | color: #fff; 293 | background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); 294 | background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); 295 | background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); 296 | background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); 297 | background-repeat: repeat-x; 298 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); 299 | } 300 | } 301 | .alert { 302 | text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2); 303 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); 304 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); 305 | } 306 | .alert-success { 307 | background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); 308 | background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); 309 | background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc)); 310 | background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); 311 | background-repeat: repeat-x; 312 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); 313 | border-color: #b2dba1; 314 | } 315 | .alert-info { 316 | background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); 317 | background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%); 318 | background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0)); 319 | background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); 320 | background-repeat: repeat-x; 321 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); 322 | border-color: #9acfea; 323 | } 324 | .alert-warning { 325 | background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); 326 | background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); 327 | background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0)); 328 | background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); 329 | background-repeat: repeat-x; 330 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); 331 | border-color: #f5e79e; 332 | } 333 | .alert-danger { 334 | background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); 335 | background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); 336 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3)); 337 | background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); 338 | background-repeat: repeat-x; 339 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); 340 | border-color: #dca7a7; 341 | } 342 | .progress { 343 | background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); 344 | background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); 345 | background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5)); 346 | background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); 347 | background-repeat: repeat-x; 348 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); 349 | } 350 | .progress-bar { 351 | background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%); 352 | background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%); 353 | background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090)); 354 | background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%); 355 | background-repeat: repeat-x; 356 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0); 357 | } 358 | .progress-bar-success { 359 | background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%); 360 | background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%); 361 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44)); 362 | background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); 363 | background-repeat: repeat-x; 364 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); 365 | } 366 | .progress-bar-info { 367 | background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); 368 | background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); 369 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5)); 370 | background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); 371 | background-repeat: repeat-x; 372 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); 373 | } 374 | .progress-bar-warning { 375 | background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); 376 | background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); 377 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f)); 378 | background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); 379 | background-repeat: repeat-x; 380 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); 381 | } 382 | .progress-bar-danger { 383 | background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%); 384 | background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%); 385 | background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c)); 386 | background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); 387 | background-repeat: repeat-x; 388 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); 389 | } 390 | .progress-bar-striped { 391 | background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); 392 | background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); 393 | background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); 394 | } 395 | .list-group { 396 | border-radius: 4px; 397 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); 398 | box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); 399 | } 400 | .list-group-item.active, 401 | .list-group-item.active:hover, 402 | .list-group-item.active:focus { 403 | text-shadow: 0 -1px 0 #286090; 404 | background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%); 405 | background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%); 406 | background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a)); 407 | background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%); 408 | background-repeat: repeat-x; 409 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0); 410 | border-color: #2b669a; 411 | } 412 | .list-group-item.active .badge, 413 | .list-group-item.active:hover .badge, 414 | .list-group-item.active:focus .badge { 415 | text-shadow: none; 416 | } 417 | .panel { 418 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); 419 | box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); 420 | } 421 | .panel-default > .panel-heading { 422 | background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); 423 | background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); 424 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); 425 | background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); 426 | background-repeat: repeat-x; 427 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); 428 | } 429 | .panel-primary > .panel-heading { 430 | background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); 431 | background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); 432 | background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); 433 | background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); 434 | background-repeat: repeat-x; 435 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); 436 | } 437 | .panel-success > .panel-heading { 438 | background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); 439 | background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); 440 | background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6)); 441 | background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); 442 | background-repeat: repeat-x; 443 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); 444 | } 445 | .panel-info > .panel-heading { 446 | background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); 447 | background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); 448 | background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3)); 449 | background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); 450 | background-repeat: repeat-x; 451 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); 452 | } 453 | .panel-warning > .panel-heading { 454 | background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); 455 | background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); 456 | background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc)); 457 | background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); 458 | background-repeat: repeat-x; 459 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); 460 | } 461 | .panel-danger > .panel-heading { 462 | background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%); 463 | background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%); 464 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc)); 465 | background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); 466 | background-repeat: repeat-x; 467 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); 468 | } 469 | .well { 470 | background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); 471 | background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); 472 | background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5)); 473 | background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); 474 | background-repeat: repeat-x; 475 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); 476 | border-color: #dcdcdc; 477 | -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); 478 | box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); 479 | } 480 | -------------------------------------------------------------------------------- /demo/bootstrap/css/bootstrap-theme.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.3.2 (http://getbootstrap.com) 3 | * Copyright 2011-2015 Twitter, Inc. 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 | */ 6 | 7 | /*! 8 | * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=bb9612d73d64dc13b70a) 9 | * Config saved to config.json and https://gist.github.com/bb9612d73d64dc13b70a 10 | */.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-default .badge,.btn-primary .badge,.btn-success .badge,.btn-info .badge,.btn-warning .badge,.btn-danger .badge{text-shadow:none}.btn:active,.btn.active{background-image:none}.btn-default{background-image:-webkit-linear-gradient(top, #fff 0, #e0e0e0 100%);background-image:-o-linear-gradient(top, #fff 0, #e0e0e0 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), to(#e0e0e0));background-image:linear-gradient(to bottom, #fff 0, #e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#dbdbdb;text-shadow:0 1px 0 #fff;border-color:#ccc}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default:disabled,.btn-default[disabled]{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top, #337ab7 0, #265a88 100%);background-image:-o-linear-gradient(top, #337ab7 0, #265a88 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #337ab7), to(#265a88));background-image:linear-gradient(to bottom, #337ab7 0, #265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#245580}.btn-primary:hover,.btn-primary:focus{background-color:#265a88;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary:disabled,.btn-primary[disabled]{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top, #5cb85c 0, #419641 100%);background-image:-o-linear-gradient(top, #5cb85c 0, #419641 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #5cb85c), to(#419641));background-image:linear-gradient(to bottom, #5cb85c 0, #419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success:disabled,.btn-success[disabled]{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top, #5bc0de 0, #2aabd2 100%);background-image:-o-linear-gradient(top, #5bc0de 0, #2aabd2 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #5bc0de), to(#2aabd2));background-image:linear-gradient(to bottom, #5bc0de 0, #2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info:disabled,.btn-info[disabled]{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top, #f0ad4e 0, #eb9316 100%);background-image:-o-linear-gradient(top, #f0ad4e 0, #eb9316 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f0ad4e), to(#eb9316));background-image:linear-gradient(to bottom, #f0ad4e 0, #eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning:disabled,.btn-warning[disabled]{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top, #d9534f 0, #c12e2a 100%);background-image:-o-linear-gradient(top, #d9534f 0, #c12e2a 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #d9534f), to(#c12e2a));background-image:linear-gradient(to bottom, #d9534f 0, #c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger:disabled,.btn-danger[disabled]{background-color:#c12e2a;background-image:none}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-image:-webkit-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);background-image:-o-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f5f5f5), to(#e8e8e8));background-image:linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-color:#e8e8e8}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-image:-webkit-linear-gradient(top, #337ab7 0, #2e6da4 100%);background-image:-o-linear-gradient(top, #337ab7 0, #2e6da4 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #337ab7), to(#2e6da4));background-image:linear-gradient(to bottom, #337ab7 0, #2e6da4 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-color:#2e6da4}.navbar-default{background-image:-webkit-linear-gradient(top, #fff 0, #f8f8f8 100%);background-image:-o-linear-gradient(top, #fff 0, #f8f8f8 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), to(#f8f8f8));background-image:linear-gradient(to bottom, #fff 0, #f8f8f8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075)}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top, #dbdbdb 0, #e2e2e2 100%);background-image:-o-linear-gradient(top, #dbdbdb 0, #e2e2e2 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #dbdbdb), to(#e2e2e2));background-image:linear-gradient(to bottom, #dbdbdb 0, #e2e2e2 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.075);box-shadow:inset 0 3px 9px rgba(0,0,0,0.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,0.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top, #3c3c3c 0, #222 100%);background-image:-o-linear-gradient(top, #3c3c3c 0, #222 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #3c3c3c), to(#222));background-image:linear-gradient(to bottom, #3c3c3c 0, #222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top, #080808 0, #0f0f0f 100%);background-image:-o-linear-gradient(top, #080808 0, #0f0f0f 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #080808), to(#0f0f0f));background-image:linear-gradient(to bottom, #080808 0, #0f0f0f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.25);box-shadow:inset 0 3px 9px rgba(0,0,0,0.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-image:-webkit-linear-gradient(top, #337ab7 0, #2e6da4 100%);background-image:-o-linear-gradient(top, #337ab7 0, #2e6da4 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #337ab7), to(#2e6da4));background-image:linear-gradient(to bottom, #337ab7 0, #2e6da4 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0)}}.alert{text-shadow:0 1px 0 rgba(255,255,255,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05)}.alert-success{background-image:-webkit-linear-gradient(top, #dff0d8 0, #c8e5bc 100%);background-image:-o-linear-gradient(top, #dff0d8 0, #c8e5bc 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #dff0d8), to(#c8e5bc));background-image:linear-gradient(to bottom, #dff0d8 0, #c8e5bc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top, #d9edf7 0, #b9def0 100%);background-image:-o-linear-gradient(top, #d9edf7 0, #b9def0 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #d9edf7), to(#b9def0));background-image:linear-gradient(to bottom, #d9edf7 0, #b9def0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top, #fcf8e3 0, #f8efc0 100%);background-image:-o-linear-gradient(top, #fcf8e3 0, #f8efc0 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fcf8e3), to(#f8efc0));background-image:linear-gradient(to bottom, #fcf8e3 0, #f8efc0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top, #f2dede 0, #e7c3c3 100%);background-image:-o-linear-gradient(top, #f2dede 0, #e7c3c3 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f2dede), to(#e7c3c3));background-image:linear-gradient(to bottom, #f2dede 0, #e7c3c3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top, #ebebeb 0, #f5f5f5 100%);background-image:-o-linear-gradient(top, #ebebeb 0, #f5f5f5 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #ebebeb), to(#f5f5f5));background-image:linear-gradient(to bottom, #ebebeb 0, #f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.progress-bar{background-image:-webkit-linear-gradient(top, #337ab7 0, #286090 100%);background-image:-o-linear-gradient(top, #337ab7 0, #286090 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #337ab7), to(#286090));background-image:linear-gradient(to bottom, #337ab7 0, #286090 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0)}.progress-bar-success{background-image:-webkit-linear-gradient(top, #5cb85c 0, #449d44 100%);background-image:-o-linear-gradient(top, #5cb85c 0, #449d44 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #5cb85c), to(#449d44));background-image:linear-gradient(to bottom, #5cb85c 0, #449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.progress-bar-info{background-image:-webkit-linear-gradient(top, #5bc0de 0, #31b0d5 100%);background-image:-o-linear-gradient(top, #5bc0de 0, #31b0d5 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #5bc0de), to(#31b0d5));background-image:linear-gradient(to bottom, #5bc0de 0, #31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.progress-bar-warning{background-image:-webkit-linear-gradient(top, #f0ad4e 0, #ec971f 100%);background-image:-o-linear-gradient(top, #f0ad4e 0, #ec971f 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f0ad4e), to(#ec971f));background-image:linear-gradient(to bottom, #f0ad4e 0, #ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.progress-bar-danger{background-image:-webkit-linear-gradient(top, #d9534f 0, #c9302c 100%);background-image:-o-linear-gradient(top, #d9534f 0, #c9302c 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #d9534f), to(#c9302c));background-image:linear-gradient(to bottom, #d9534f 0, #c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top, #337ab7 0, #2b669a 100%);background-image:-o-linear-gradient(top, #337ab7 0, #2b669a 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #337ab7), to(#2b669a));background-image:linear-gradient(to bottom, #337ab7 0, #2b669a 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:hover .badge,.list-group-item.active:focus .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);background-image:-o-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f5f5f5), to(#e8e8e8));background-image:linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top, #337ab7 0, #2e6da4 100%);background-image:-o-linear-gradient(top, #337ab7 0, #2e6da4 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #337ab7), to(#2e6da4));background-image:linear-gradient(to bottom, #337ab7 0, #2e6da4 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0)}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top, #dff0d8 0, #d0e9c6 100%);background-image:-o-linear-gradient(top, #dff0d8 0, #d0e9c6 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #dff0d8), to(#d0e9c6));background-image:linear-gradient(to bottom, #dff0d8 0, #d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top, #d9edf7 0, #c4e3f3 100%);background-image:-o-linear-gradient(top, #d9edf7 0, #c4e3f3 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #d9edf7), to(#c4e3f3));background-image:linear-gradient(to bottom, #d9edf7 0, #c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top, #fcf8e3 0, #faf2cc 100%);background-image:-o-linear-gradient(top, #fcf8e3 0, #faf2cc 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fcf8e3), to(#faf2cc));background-image:linear-gradient(to bottom, #fcf8e3 0, #faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top, #f2dede 0, #ebcccc 100%);background-image:-o-linear-gradient(top, #f2dede 0, #ebcccc 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #f2dede), to(#ebcccc));background-image:linear-gradient(to bottom, #f2dede 0, #ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.well{background-image:-webkit-linear-gradient(top, #e8e8e8 0, #f5f5f5 100%);background-image:-o-linear-gradient(top, #e8e8e8 0, #f5f5f5 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #e8e8e8), to(#f5f5f5));background-image:linear-gradient(to bottom, #e8e8e8 0, #f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1)} -------------------------------------------------------------------------------- /demo/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PostovoyNet/jquery.airStickyBlock/ae39eb266685d4080b0f2006f2bdc68a587d0276/demo/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /demo/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PostovoyNet/jquery.airStickyBlock/ae39eb266685d4080b0f2006f2bdc68a587d0276/demo/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /demo/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PostovoyNet/jquery.airStickyBlock/ae39eb266685d4080b0f2006f2bdc68a587d0276/demo/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /demo/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PostovoyNet/jquery.airStickyBlock/ae39eb266685d4080b0f2006f2bdc68a587d0276/demo/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /demo/bootstrap/js/bootstrap.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.3.2 (http://getbootstrap.com) 3 | * Copyright 2011-2015 Twitter, Inc. 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 | */ 6 | 7 | /*! 8 | * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=bb9612d73d64dc13b70a) 9 | * Config saved to config.json and https://gist.github.com/bb9612d73d64dc13b70a 10 | */ 11 | if (typeof jQuery === 'undefined') { 12 | throw new Error('Bootstrap\'s JavaScript requires jQuery') 13 | } 14 | +function ($) { 15 | 'use strict'; 16 | var version = $.fn.jquery.split(' ')[0].split('.') 17 | if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) { 18 | throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher') 19 | } 20 | }(jQuery); 21 | 22 | /* ======================================================================== 23 | * Bootstrap: alert.js v3.3.2 24 | * http://getbootstrap.com/javascript/#alerts 25 | * ======================================================================== 26 | * Copyright 2011-2015 Twitter, Inc. 27 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 28 | * ======================================================================== */ 29 | 30 | 31 | +function ($) { 32 | 'use strict'; 33 | 34 | // ALERT CLASS DEFINITION 35 | // ====================== 36 | 37 | var dismiss = '[data-dismiss="alert"]' 38 | var Alert = function (el) { 39 | $(el).on('click', dismiss, this.close) 40 | } 41 | 42 | Alert.VERSION = '3.3.2' 43 | 44 | Alert.TRANSITION_DURATION = 150 45 | 46 | Alert.prototype.close = function (e) { 47 | var $this = $(this) 48 | var selector = $this.attr('data-target') 49 | 50 | if (!selector) { 51 | selector = $this.attr('href') 52 | selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 53 | } 54 | 55 | var $parent = $(selector) 56 | 57 | if (e) e.preventDefault() 58 | 59 | if (!$parent.length) { 60 | $parent = $this.closest('.alert') 61 | } 62 | 63 | $parent.trigger(e = $.Event('close.bs.alert')) 64 | 65 | if (e.isDefaultPrevented()) return 66 | 67 | $parent.removeClass('in') 68 | 69 | function removeElement() { 70 | // detach from parent, fire event then clean up data 71 | $parent.detach().trigger('closed.bs.alert').remove() 72 | } 73 | 74 | $.support.transition && $parent.hasClass('fade') ? 75 | $parent 76 | .one('bsTransitionEnd', removeElement) 77 | .emulateTransitionEnd(Alert.TRANSITION_DURATION) : 78 | removeElement() 79 | } 80 | 81 | 82 | // ALERT PLUGIN DEFINITION 83 | // ======================= 84 | 85 | function Plugin(option) { 86 | return this.each(function () { 87 | var $this = $(this) 88 | var data = $this.data('bs.alert') 89 | 90 | if (!data) $this.data('bs.alert', (data = new Alert(this))) 91 | if (typeof option == 'string') data[option].call($this) 92 | }) 93 | } 94 | 95 | var old = $.fn.alert 96 | 97 | $.fn.alert = Plugin 98 | $.fn.alert.Constructor = Alert 99 | 100 | 101 | // ALERT NO CONFLICT 102 | // ================= 103 | 104 | $.fn.alert.noConflict = function () { 105 | $.fn.alert = old 106 | return this 107 | } 108 | 109 | 110 | // ALERT DATA-API 111 | // ============== 112 | 113 | $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) 114 | 115 | }(jQuery); 116 | 117 | /* ======================================================================== 118 | * Bootstrap: button.js v3.3.2 119 | * http://getbootstrap.com/javascript/#buttons 120 | * ======================================================================== 121 | * Copyright 2011-2015 Twitter, Inc. 122 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 123 | * ======================================================================== */ 124 | 125 | 126 | +function ($) { 127 | 'use strict'; 128 | 129 | // BUTTON PUBLIC CLASS DEFINITION 130 | // ============================== 131 | 132 | var Button = function (element, options) { 133 | this.$element = $(element) 134 | this.options = $.extend({}, Button.DEFAULTS, options) 135 | this.isLoading = false 136 | } 137 | 138 | Button.VERSION = '3.3.2' 139 | 140 | Button.DEFAULTS = { 141 | loadingText: 'loading...' 142 | } 143 | 144 | Button.prototype.setState = function (state) { 145 | var d = 'disabled' 146 | var $el = this.$element 147 | var val = $el.is('input') ? 'val' : 'html' 148 | var data = $el.data() 149 | 150 | state = state + 'Text' 151 | 152 | if (data.resetText == null) $el.data('resetText', $el[val]()) 153 | 154 | // push to event loop to allow forms to submit 155 | setTimeout($.proxy(function () { 156 | $el[val](data[state] == null ? this.options[state] : data[state]) 157 | 158 | if (state == 'loadingText') { 159 | this.isLoading = true 160 | $el.addClass(d).attr(d, d) 161 | } else if (this.isLoading) { 162 | this.isLoading = false 163 | $el.removeClass(d).removeAttr(d) 164 | } 165 | }, this), 0) 166 | } 167 | 168 | Button.prototype.toggle = function () { 169 | var changed = true 170 | var $parent = this.$element.closest('[data-toggle="buttons"]') 171 | 172 | if ($parent.length) { 173 | var $input = this.$element.find('input') 174 | if ($input.prop('type') == 'radio') { 175 | if ($input.prop('checked') && this.$element.hasClass('active')) changed = false 176 | else $parent.find('.active').removeClass('active') 177 | } 178 | if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change') 179 | } else { 180 | this.$element.attr('aria-pressed', !this.$element.hasClass('active')) 181 | } 182 | 183 | if (changed) this.$element.toggleClass('active') 184 | } 185 | 186 | 187 | // BUTTON PLUGIN DEFINITION 188 | // ======================== 189 | 190 | function Plugin(option) { 191 | return this.each(function () { 192 | var $this = $(this) 193 | var data = $this.data('bs.button') 194 | var options = typeof option == 'object' && option 195 | 196 | if (!data) $this.data('bs.button', (data = new Button(this, options))) 197 | 198 | if (option == 'toggle') data.toggle() 199 | else if (option) data.setState(option) 200 | }) 201 | } 202 | 203 | var old = $.fn.button 204 | 205 | $.fn.button = Plugin 206 | $.fn.button.Constructor = Button 207 | 208 | 209 | // BUTTON NO CONFLICT 210 | // ================== 211 | 212 | $.fn.button.noConflict = function () { 213 | $.fn.button = old 214 | return this 215 | } 216 | 217 | 218 | // BUTTON DATA-API 219 | // =============== 220 | 221 | $(document) 222 | .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) { 223 | var $btn = $(e.target) 224 | if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') 225 | Plugin.call($btn, 'toggle') 226 | e.preventDefault() 227 | }) 228 | .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { 229 | $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) 230 | }) 231 | 232 | }(jQuery); 233 | 234 | /* ======================================================================== 235 | * Bootstrap: carousel.js v3.3.2 236 | * http://getbootstrap.com/javascript/#carousel 237 | * ======================================================================== 238 | * Copyright 2011-2015 Twitter, Inc. 239 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 240 | * ======================================================================== */ 241 | 242 | 243 | +function ($) { 244 | 'use strict'; 245 | 246 | // CAROUSEL CLASS DEFINITION 247 | // ========================= 248 | 249 | var Carousel = function (element, options) { 250 | this.$element = $(element) 251 | this.$indicators = this.$element.find('.carousel-indicators') 252 | this.options = options 253 | this.paused = 254 | this.sliding = 255 | this.interval = 256 | this.$active = 257 | this.$items = null 258 | 259 | this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) 260 | 261 | this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element 262 | .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) 263 | .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) 264 | } 265 | 266 | Carousel.VERSION = '3.3.2' 267 | 268 | Carousel.TRANSITION_DURATION = 600 269 | 270 | Carousel.DEFAULTS = { 271 | interval: 5000, 272 | pause: 'hover', 273 | wrap: true, 274 | keyboard: true 275 | } 276 | 277 | Carousel.prototype.keydown = function (e) { 278 | if (/input|textarea/i.test(e.target.tagName)) return 279 | switch (e.which) { 280 | case 37: this.prev(); break 281 | case 39: this.next(); break 282 | default: return 283 | } 284 | 285 | e.preventDefault() 286 | } 287 | 288 | Carousel.prototype.cycle = function (e) { 289 | e || (this.paused = false) 290 | 291 | this.interval && clearInterval(this.interval) 292 | 293 | this.options.interval 294 | && !this.paused 295 | && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) 296 | 297 | return this 298 | } 299 | 300 | Carousel.prototype.getItemIndex = function (item) { 301 | this.$items = item.parent().children('.item') 302 | return this.$items.index(item || this.$active) 303 | } 304 | 305 | Carousel.prototype.getItemForDirection = function (direction, active) { 306 | var activeIndex = this.getItemIndex(active) 307 | var willWrap = (direction == 'prev' && activeIndex === 0) 308 | || (direction == 'next' && activeIndex == (this.$items.length - 1)) 309 | if (willWrap && !this.options.wrap) return active 310 | var delta = direction == 'prev' ? -1 : 1 311 | var itemIndex = (activeIndex + delta) % this.$items.length 312 | return this.$items.eq(itemIndex) 313 | } 314 | 315 | Carousel.prototype.to = function (pos) { 316 | var that = this 317 | var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active')) 318 | 319 | if (pos > (this.$items.length - 1) || pos < 0) return 320 | 321 | if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid" 322 | if (activeIndex == pos) return this.pause().cycle() 323 | 324 | return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos)) 325 | } 326 | 327 | Carousel.prototype.pause = function (e) { 328 | e || (this.paused = true) 329 | 330 | if (this.$element.find('.next, .prev').length && $.support.transition) { 331 | this.$element.trigger($.support.transition.end) 332 | this.cycle(true) 333 | } 334 | 335 | this.interval = clearInterval(this.interval) 336 | 337 | return this 338 | } 339 | 340 | Carousel.prototype.next = function () { 341 | if (this.sliding) return 342 | return this.slide('next') 343 | } 344 | 345 | Carousel.prototype.prev = function () { 346 | if (this.sliding) return 347 | return this.slide('prev') 348 | } 349 | 350 | Carousel.prototype.slide = function (type, next) { 351 | var $active = this.$element.find('.item.active') 352 | var $next = next || this.getItemForDirection(type, $active) 353 | var isCycling = this.interval 354 | var direction = type == 'next' ? 'left' : 'right' 355 | var that = this 356 | 357 | if ($next.hasClass('active')) return (this.sliding = false) 358 | 359 | var relatedTarget = $next[0] 360 | var slideEvent = $.Event('slide.bs.carousel', { 361 | relatedTarget: relatedTarget, 362 | direction: direction 363 | }) 364 | this.$element.trigger(slideEvent) 365 | if (slideEvent.isDefaultPrevented()) return 366 | 367 | this.sliding = true 368 | 369 | isCycling && this.pause() 370 | 371 | if (this.$indicators.length) { 372 | this.$indicators.find('.active').removeClass('active') 373 | var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)]) 374 | $nextIndicator && $nextIndicator.addClass('active') 375 | } 376 | 377 | var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" 378 | if ($.support.transition && this.$element.hasClass('slide')) { 379 | $next.addClass(type) 380 | $next[0].offsetWidth // force reflow 381 | $active.addClass(direction) 382 | $next.addClass(direction) 383 | $active 384 | .one('bsTransitionEnd', function () { 385 | $next.removeClass([type, direction].join(' ')).addClass('active') 386 | $active.removeClass(['active', direction].join(' ')) 387 | that.sliding = false 388 | setTimeout(function () { 389 | that.$element.trigger(slidEvent) 390 | }, 0) 391 | }) 392 | .emulateTransitionEnd(Carousel.TRANSITION_DURATION) 393 | } else { 394 | $active.removeClass('active') 395 | $next.addClass('active') 396 | this.sliding = false 397 | this.$element.trigger(slidEvent) 398 | } 399 | 400 | isCycling && this.cycle() 401 | 402 | return this 403 | } 404 | 405 | 406 | // CAROUSEL PLUGIN DEFINITION 407 | // ========================== 408 | 409 | function Plugin(option) { 410 | return this.each(function () { 411 | var $this = $(this) 412 | var data = $this.data('bs.carousel') 413 | var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) 414 | var action = typeof option == 'string' ? option : options.slide 415 | 416 | if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) 417 | if (typeof option == 'number') data.to(option) 418 | else if (action) data[action]() 419 | else if (options.interval) data.pause().cycle() 420 | }) 421 | } 422 | 423 | var old = $.fn.carousel 424 | 425 | $.fn.carousel = Plugin 426 | $.fn.carousel.Constructor = Carousel 427 | 428 | 429 | // CAROUSEL NO CONFLICT 430 | // ==================== 431 | 432 | $.fn.carousel.noConflict = function () { 433 | $.fn.carousel = old 434 | return this 435 | } 436 | 437 | 438 | // CAROUSEL DATA-API 439 | // ================= 440 | 441 | var clickHandler = function (e) { 442 | var href 443 | var $this = $(this) 444 | var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 445 | if (!$target.hasClass('carousel')) return 446 | var options = $.extend({}, $target.data(), $this.data()) 447 | var slideIndex = $this.attr('data-slide-to') 448 | if (slideIndex) options.interval = false 449 | 450 | Plugin.call($target, options) 451 | 452 | if (slideIndex) { 453 | $target.data('bs.carousel').to(slideIndex) 454 | } 455 | 456 | e.preventDefault() 457 | } 458 | 459 | $(document) 460 | .on('click.bs.carousel.data-api', '[data-slide]', clickHandler) 461 | .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler) 462 | 463 | $(window).on('load', function () { 464 | $('[data-ride="carousel"]').each(function () { 465 | var $carousel = $(this) 466 | Plugin.call($carousel, $carousel.data()) 467 | }) 468 | }) 469 | 470 | }(jQuery); 471 | 472 | /* ======================================================================== 473 | * Bootstrap: dropdown.js v3.3.2 474 | * http://getbootstrap.com/javascript/#dropdowns 475 | * ======================================================================== 476 | * Copyright 2011-2015 Twitter, Inc. 477 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 478 | * ======================================================================== */ 479 | 480 | 481 | +function ($) { 482 | 'use strict'; 483 | 484 | // DROPDOWN CLASS DEFINITION 485 | // ========================= 486 | 487 | var backdrop = '.dropdown-backdrop' 488 | var toggle = '[data-toggle="dropdown"]' 489 | var Dropdown = function (element) { 490 | $(element).on('click.bs.dropdown', this.toggle) 491 | } 492 | 493 | Dropdown.VERSION = '3.3.2' 494 | 495 | Dropdown.prototype.toggle = function (e) { 496 | var $this = $(this) 497 | 498 | if ($this.is('.disabled, :disabled')) return 499 | 500 | var $parent = getParent($this) 501 | var isActive = $parent.hasClass('open') 502 | 503 | clearMenus() 504 | 505 | if (!isActive) { 506 | if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { 507 | // if mobile we use a backdrop because click events don't delegate 508 | $('