├── DataView.html ├── README.md ├── css └── handsontable.css ├── graph.html └── js ├── dateUtil.js ├── echarts.js ├── handsontable.min.js ├── jquery-2.1.0.min.js └── layer ├── layer.js ├── mobile ├── layer.js └── need │ └── layer.css └── skin └── default ├── icon-ext.png ├── icon.png ├── layer.css ├── loading-0.gif ├── loading-1.gif └── loading-2.gif /DataView.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Echarts-DataViewTableDemo 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
17 | 18 | 19 | 223 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # DataView 2 | 3 | > 将数据通过Echarts图表的形式展现出来 4 | 5 | > 单击图表的数据视图用layer弹出新页面 6 | 7 | > 新页面用handsontable显示Excel样式电子表格 8 | 9 | > 电子表格可以下载(只兼容Google最新浏览器) 10 | 11 | 12 | 13 | # 技术栈 14 | 15 | - echarts 3.6.2 展示图表 16 | - handsontable 0.32.0 展示Excel样式电子表格 17 | - layer-v3.0.3 Web弹层组件 18 | - localStorage HTML5在客户端存储数据 19 | 20 | # Echarts.js源码修改的地方 21 | 22 | 在3.6.2源码73097行: 23 | ```html 24 | if (typeof optionToContent === 'function') { 25 | var htmlOrDom = optionToContent(api.getOption()); 26 | if (typeof htmlOrDom === 'string') { 27 | viewMain.innerHTML = htmlOrDom; 28 | } 29 | else if (zrUtil.isDom(htmlOrDom)) { 30 | viewMain.appendChild(htmlOrDom); 31 | } 32 | } 33 | ``` 34 | 改为如下: 35 | ```html 36 | if (typeof optionToContent === 'function') { 37 | /* var htmlOrDom = optionToContent(api.getOption()); 38 | if (typeof htmlOrDom === 'string') { 39 | viewMain.innerHTML = htmlOrDom; 40 | } 41 | else if (zrUtil.isDom(htmlOrDom)) { 42 | viewMain.appendChild(htmlOrDom); 43 | }*/ 44 | var toGo=''; 45 | toGo=optionToContent(api.getOption()); 46 | //弹出即全屏 47 | var index = layer.open({ 48 | type: 2, 49 | title: lang[0], 50 | content: encodeURI(toGo), 51 | area: ['100%' , '520px'], 52 | anim :-1, 53 | maxmin: true 54 | }); 55 | layer.full(index); 56 | return ; 57 | } 58 | ``` 59 | 60 | # Echarts实例option设置 61 | 62 | 在Echarts实例中设置option的toolbox如下: 63 | ```html 64 | toolbox: { 65 | show: true, 66 | feature: { 67 | /* dataZoom: { 68 | yAxisIndex: 'none' 69 | },*/ 70 | dataView: { 71 | lang: ['预约日报表', '关闭', '下载'], 72 | readOnly: false, 73 | backgroundColor:'#39314a', 74 | textColor:'#fff', 75 | optionToContent: function(opt) { 76 | var otc='graph.html?formData=yuYueData&title=预约日报表'; 77 | return otc; 78 | } 79 | }, 80 | magicType: {type: ['line', 'bar']}, 81 | restore: {}, 82 | saveAsImage: {} 83 | } 84 | } 85 | ``` 86 | -------------------------------------------------------------------------------- /css/handsontable.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * (The MIT License) 3 | * 4 | * Copyright (c) 2012-2014 Marcin Warpechowski 5 | * Copyright (c) 2015 Handsoncode sp. z o.o. 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining 8 | * a copy of this software and associated documentation files (the 9 | * 'Software'), to deal in the Software without restriction, including 10 | * without limitation the rights to use, copy, modify, merge, publish, 11 | * distribute, sublicense, and/or sell copies of the Software, and to 12 | * permit persons to whom the Software is furnished to do so, subject to 13 | * the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be 16 | * included in all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 19 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | * 26 | * Version: 0.32.0 27 | * Date: Tue May 30 2017 12:18:32 GMT+0200 (CEST) 28 | */ 29 | /** 30 | * Fix for bootstrap styles 31 | */ 32 | .handsontable .table th, .handsontable .table td { 33 | border-top: none; 34 | } 35 | 36 | .handsontable tr { 37 | background: #fff; 38 | } 39 | 40 | .handsontable td { 41 | background-color: inherit; 42 | } 43 | 44 | .table caption + thead tr:first-child th, 45 | .table caption + thead tr:first-child td, 46 | .table colgroup + thead tr:first-child th, 47 | .table colgroup + thead tr:first-child td, 48 | .table thead:first-child tr:first-child th, 49 | .table thead:first-child tr:first-child td { 50 | border-top: 1px solid #CCCCCC; 51 | } 52 | 53 | /* table-bordered */ 54 | .handsontable .table-bordered { 55 | border: 0; 56 | border-collapse: separate; 57 | } 58 | 59 | .handsontable .table-bordered th, 60 | .handsontable .table-bordered td { 61 | border-left: none; 62 | } 63 | 64 | .handsontable .table-bordered th:first-child, 65 | .handsontable .table-bordered td:first-child { 66 | border-left: 1px solid #CCCCCC; 67 | } 68 | 69 | .table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th { 70 | line-height: 21px; 71 | padding: 0 4px; 72 | } 73 | 74 | .col-lg-1.handsontable, .col-lg-10.handsontable, .col-lg-11.handsontable, .col-lg-12.handsontable, 75 | .col-lg-2.handsontable, .col-lg-3.handsontable, .col-lg-4.handsontable, .col-lg-5.handsontable, .col-lg-6.handsontable, .col-lg-7.handsontable, .col-lg-8.handsontable, .col-lg-9.handsontable, 76 | .col-md-1.handsontable, .col-md-10.handsontable, .col-md-11.handsontable, .col-md-12.handsontable, 77 | .col-md-2.handsontable, .col-md-3.handsontable, .col-md-4.handsontable, .col-md-5.handsontable, .col-md-6.handsontable, .col-md-7.handsontable, .col-md-8.handsontable, .col-md-9.handsontable 78 | .col-sm-1.handsontable, .col-sm-10.handsontable, .col-sm-11.handsontable, .col-sm-12.handsontable, 79 | .col-sm-2.handsontable, .col-sm-3.handsontable, .col-sm-4.handsontable, .col-sm-5.handsontable, .col-sm-6.handsontable, .col-sm-7.handsontable, .col-sm-8.handsontable, .col-sm-9.handsontable 80 | .col-xs-1.handsontable, .col-xs-10.handsontable, .col-xs-11.handsontable, .col-xs-12.handsontable, 81 | .col-xs-2.handsontable, .col-xs-3.handsontable, .col-xs-4.handsontable, .col-xs-5.handsontable, .col-xs-6.handsontable, .col-xs-7.handsontable, .col-xs-8.handsontable, .col-xs-9.handsontable { 82 | padding-left: 0; 83 | padding-right: 0; 84 | } 85 | 86 | .table-striped > tbody > tr:nth-of-type(even) { 87 | background-color: #FFF; 88 | } 89 | .handsontable { 90 | position: relative; 91 | } 92 | 93 | .handsontable .hide{ 94 | display: none; 95 | } 96 | .handsontable .relative { 97 | position: relative; 98 | } 99 | 100 | .handsontable.htAutoSize { 101 | visibility: hidden; 102 | left: -99000px; 103 | position: absolute; 104 | top: -99000px; 105 | } 106 | 107 | .handsontable .wtHider { 108 | width: 0; 109 | } 110 | 111 | .handsontable .wtSpreader { 112 | position: relative; 113 | width: 0; /*must be 0, otherwise blank space appears in scroll demo after scrolling max to the right */ 114 | height: auto; 115 | } 116 | 117 | .handsontable table, 118 | .handsontable tbody, 119 | .handsontable thead, 120 | .handsontable td, 121 | .handsontable th, 122 | .handsontable input, 123 | .handsontable textarea, 124 | .handsontable div { 125 | box-sizing: content-box; 126 | -webkit-box-sizing: content-box; 127 | -moz-box-sizing: content-box; 128 | } 129 | 130 | .handsontable input, 131 | .handsontable textarea { 132 | min-height: initial; 133 | } 134 | 135 | .handsontable table.htCore { 136 | border-collapse: separate; 137 | /*it must be separate, otherwise there are offset miscalculations in WebKit: http://stackoverflow.com/questions/2655987/border-collapse-differences-in-ff-and-webkit*/ 138 | /*this actually only changes appearance of user selection - does not make text unselectable 139 | -webkit-user-select: none; 140 | -khtml-user-select: none; 141 | -moz-user-select: none; 142 | -o-user-select: none; 143 | -ms-user-select: none; 144 | /*user-select: none; /*no browser supports unprefixed version*/ 145 | border-spacing: 0; 146 | margin: 0; 147 | border-width: 0; 148 | table-layout: fixed; 149 | width: 0; 150 | outline-width: 0; 151 | /* reset bootstrap table style. for more info see: https://github.com/handsontable/handsontable/issues/224 */ 152 | max-width: none; 153 | max-height: none; 154 | } 155 | 156 | .handsontable col { 157 | width: 50px; 158 | } 159 | 160 | .handsontable col.rowHeader { 161 | width: 50px; 162 | } 163 | 164 | .handsontable th, 165 | .handsontable td { 166 | border-top-width: 0; 167 | border-left-width: 0; 168 | border-right: 1px solid #CCC; 169 | border-bottom: 1px solid #CCC; 170 | height: 22px; 171 | empty-cells: show; 172 | line-height: 21px; 173 | padding: 0 4px 0 4px; 174 | /* top, bottom padding different than 0 is handled poorly by FF with HTML5 doctype */ 175 | background-color: #FFF; 176 | vertical-align: top; 177 | overflow: hidden; 178 | outline-width: 0; 179 | white-space: pre-line; 180 | /* preserve new line character in cell */ 181 | background-clip: padding-box; 182 | } 183 | 184 | .handsontable td.htInvalid { 185 | background-color: #ff4c42 !important; /*gives priority over td.area selection background*/ 186 | } 187 | 188 | .handsontable td.htNoWrap { 189 | white-space: nowrap; 190 | } 191 | 192 | .handsontable th:last-child { 193 | /*Foundation framework fix*/ 194 | border-right: 1px solid #CCC; 195 | border-bottom: 1px solid #CCC; 196 | } 197 | 198 | .handsontable tr:first-child th.htNoFrame, 199 | .handsontable th:first-child.htNoFrame, 200 | .handsontable th.htNoFrame { 201 | border-left-width: 0; 202 | background-color: white; 203 | border-color: #FFF; 204 | } 205 | 206 | .handsontable th:first-child, 207 | .handsontable th:nth-child(2), 208 | .handsontable td:first-of-type, 209 | .handsontable .htNoFrame + th, 210 | .handsontable .htNoFrame + td { 211 | border-left: 1px solid #CCC; 212 | } 213 | 214 | .handsontable.htRowHeaders thead tr th:nth-child(2) { 215 | border-left: 1px solid #CCC; 216 | } 217 | 218 | .handsontable tr:first-child th, 219 | .handsontable tr:first-child td { 220 | border-top: 1px solid #CCC; 221 | } 222 | 223 | .ht_master:not(.innerBorderLeft):not(.emptyColumns) ~ .handsontable tbody tr th, 224 | .ht_master:not(.innerBorderLeft):not(.emptyColumns) ~ .handsontable:not(.ht_clone_top) thead tr th:first-child { 225 | border-right-width: 0; 226 | } 227 | 228 | .ht_master:not(.innerBorderTop) thead tr:last-child th, 229 | .ht_master:not(.innerBorderTop) ~ .handsontable thead tr:last-child th, 230 | .ht_master:not(.innerBorderTop) thead tr.lastChild th, 231 | .ht_master:not(.innerBorderTop) ~ .handsontable thead tr.lastChild th { 232 | border-bottom-width: 0; 233 | } 234 | 235 | .handsontable th { 236 | background-color: #f3f3f3; 237 | color: #222; 238 | text-align: center; 239 | font-weight: normal; 240 | white-space: nowrap; 241 | } 242 | 243 | .handsontable thead th { 244 | padding: 0; 245 | } 246 | 247 | .handsontable th.active { 248 | background-color: #CCC; 249 | } 250 | .handsontable thead th .relative { 251 | padding: 2px 4px; 252 | } 253 | 254 | /* selection */ 255 | .handsontable tbody th.ht__highlight, 256 | .handsontable thead th.ht__highlight { 257 | background-color: #dcdcdc; 258 | } 259 | .handsontable.ht__selection--columns thead th.ht__highlight, 260 | .handsontable.ht__selection--rows tbody th.ht__highlight { 261 | background-color: #8eb0e7; 262 | color: #000; 263 | } 264 | 265 | /* plugins */ 266 | 267 | /* row + column resizer*/ 268 | .handsontable .manualColumnResizer { 269 | position: fixed; 270 | top: 0; 271 | cursor: col-resize; 272 | z-index: 110; 273 | width: 5px; 274 | height: 25px; 275 | } 276 | 277 | .handsontable .manualRowResizer { 278 | position: fixed; 279 | left: 0; 280 | cursor: row-resize; 281 | z-index: 110; 282 | height: 5px; 283 | width: 50px; 284 | } 285 | 286 | .handsontable .manualColumnResizer:hover, 287 | .handsontable .manualColumnResizer.active, 288 | .handsontable .manualRowResizer:hover, 289 | .handsontable .manualRowResizer.active { 290 | background-color: #AAB; 291 | } 292 | 293 | .handsontable .manualColumnResizerGuide { 294 | position: fixed; 295 | right: 0; 296 | top: 0; 297 | background-color: #AAB; 298 | display: none; 299 | width: 0; 300 | border-right: 1px dashed #777; 301 | margin-left: 5px; 302 | } 303 | 304 | .handsontable .manualRowResizerGuide { 305 | position: fixed; 306 | left: 0; 307 | bottom: 0; 308 | background-color: #AAB; 309 | display: none; 310 | height: 0; 311 | border-bottom: 1px dashed #777; 312 | margin-top: 5px; 313 | } 314 | 315 | .handsontable .manualColumnResizerGuide.active, 316 | .handsontable .manualRowResizerGuide.active { 317 | display: block; 318 | z-index: 199; 319 | } 320 | 321 | .handsontable .columnSorting { 322 | position: relative; 323 | } 324 | 325 | .handsontable .columnSorting:hover { 326 | text-decoration: underline; 327 | cursor: pointer; 328 | } 329 | 330 | .handsontable .columnSorting.ascending::after { 331 | content: '\25B2'; 332 | color: #5f5f5f; 333 | position: absolute; 334 | right: -15px; 335 | } 336 | 337 | .handsontable .columnSorting.descending::after { 338 | content: '\25BC'; 339 | color: #5f5f5f; 340 | position: absolute; 341 | right: -15px; 342 | } 343 | 344 | /* border line */ 345 | 346 | .handsontable .wtBorder { 347 | position: absolute; 348 | font-size: 0; 349 | } 350 | .handsontable .wtBorder.hidden{ 351 | display:none !important; 352 | } 353 | 354 | .handsontable td.area { 355 | background: -moz-linear-gradient(top, rgba(181,209,255,0.34) 0%, rgba(181,209,255,0.34) 100%); /* FF3.6+ */ 356 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(181,209,255,0.34)), color-stop(100%,rgba(181,209,255,0.34))); /* Chrome,Safari4+ */ 357 | background: -webkit-linear-gradient(top, rgba(181,209,255,0.34) 0%,rgba(181,209,255,0.34) 100%); /* Chrome10+,Safari5.1+ */ 358 | background: -o-linear-gradient(top, rgba(181,209,255,0.34) 0%,rgba(181,209,255,0.34) 100%); /* Opera 11.10+ */ 359 | background: -ms-linear-gradient(top, rgba(181,209,255,0.34) 0%,rgba(181,209,255,0.34) 100%); /* IE10+ */ 360 | background: linear-gradient(to bottom, rgba(181,209,255,0.34) 0%,rgba(181,209,255,0.34) 100%); /* W3C */ 361 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#57b5d1ff', endColorstr='#57b5d1ff',GradientType=0 ); /* IE6-9 */ 362 | background-color: #fff; 363 | } 364 | 365 | /* fill handle */ 366 | 367 | .handsontable .wtBorder.corner { 368 | font-size: 0; 369 | cursor: crosshair; 370 | } 371 | 372 | .handsontable .htBorder.htFillBorder { 373 | background: red; 374 | width: 1px; 375 | height: 1px; 376 | } 377 | 378 | .handsontableInput { 379 | border:none; 380 | outline-width: 0; 381 | margin: 0 ; 382 | padding: 1px 5px 0 5px; 383 | font-family: inherit; 384 | line-height: 21px; 385 | font-size: inherit; 386 | box-shadow: 0 0 0 2px #5292F7 inset; 387 | resize: none; 388 | /*below are needed to overwrite stuff added by jQuery UI Bootstrap theme*/ 389 | display: inline-block; 390 | color: #000; 391 | border-radius: 0; 392 | background-color: #FFF; 393 | /*overwrite styles potentionally made by a framework*/ 394 | } 395 | 396 | .handsontableInputHolder { 397 | position: absolute; 398 | top: 0; 399 | left: 0; 400 | z-index: 100; 401 | } 402 | 403 | .htSelectEditor { 404 | -webkit-appearance: menulist-button !important; 405 | position: absolute; 406 | width: auto; 407 | } 408 | 409 | /* 410 | TextRenderer readOnly cell 411 | */ 412 | 413 | .handsontable .htDimmed { 414 | color: #777; 415 | } 416 | 417 | .handsontable .htSubmenu { 418 | position: relative; 419 | } 420 | 421 | .handsontable .htSubmenu :after{ 422 | content: '\25B6'; 423 | color: #777; 424 | position: absolute; 425 | right: 5px; 426 | } 427 | 428 | 429 | /* 430 | TextRenderer horizontal alignment 431 | */ 432 | .handsontable .htLeft{ 433 | text-align: left; 434 | } 435 | .handsontable .htCenter{ 436 | text-align: center; 437 | } 438 | .handsontable .htRight{ 439 | text-align: right; 440 | } 441 | .handsontable .htJustify{ 442 | text-align: justify; 443 | } 444 | /* 445 | TextRenderer vertical alignment 446 | */ 447 | .handsontable .htTop{ 448 | vertical-align: top; 449 | } 450 | .handsontable .htMiddle{ 451 | vertical-align: middle; 452 | } 453 | .handsontable .htBottom{ 454 | vertical-align: bottom; 455 | } 456 | 457 | /* 458 | TextRenderer placeholder value 459 | */ 460 | 461 | .handsontable .htPlaceholder { 462 | color: #999; 463 | } 464 | 465 | /* 466 | AutocompleteRenderer down arrow 467 | */ 468 | 469 | .handsontable .htAutocompleteArrow { 470 | float: right; 471 | font-size: 10px; 472 | color: #EEE; 473 | cursor: default; 474 | width: 16px; 475 | text-align: center; 476 | } 477 | 478 | .handsontable td .htAutocompleteArrow:hover { 479 | color: #777; 480 | } 481 | 482 | .handsontable td.area .htAutocompleteArrow { 483 | color: #d3d3d3; 484 | } 485 | 486 | /* 487 | CheckboxRenderer 488 | */ 489 | .handsontable .htCheckboxRendererInput { 490 | display: inline-block; 491 | vertical-align: middle; 492 | } 493 | .handsontable .htCheckboxRendererInput.noValue { 494 | opacity: 0.5; 495 | } 496 | .handsontable .htCheckboxRendererLabel { 497 | cursor: pointer; 498 | display: inline-block; 499 | width: 100%; 500 | } 501 | 502 | @-webkit-keyframes opacity-hide { 503 | from { 504 | opacity: 1; 505 | } 506 | to { 507 | opacity: 0; 508 | /*display: none;*/ 509 | } 510 | } 511 | @keyframes opacity-hide { 512 | from { 513 | /*display: block;*/ 514 | opacity: 1; 515 | } 516 | to { 517 | opacity: 0; 518 | /*display: none;*/ 519 | } 520 | } 521 | 522 | @-webkit-keyframes opacity-show { 523 | from { 524 | opacity: 0; 525 | /*display: none;*/ 526 | } 527 | to { 528 | opacity: 1; 529 | /*display: block;*/ 530 | } 531 | } 532 | @keyframes opacity-show { 533 | from { 534 | opacity: 0; 535 | /*display: none;*/ 536 | } 537 | to { 538 | opacity: 1; 539 | /*display: block;*/ 540 | } 541 | } 542 | 543 | /** 544 | * Handsontable in Handsontable 545 | */ 546 | 547 | .handsontable .handsontable.ht_clone_top .wtHider { 548 | padding: 0 0 5px 0; 549 | } 550 | 551 | /** 552 | * Autocomplete Editor 553 | */ 554 | .handsontable .autocompleteEditor.handsontable { 555 | padding-right: 17px; 556 | } 557 | .handsontable .autocompleteEditor.handsontable.htMacScroll { 558 | padding-right: 15px; 559 | } 560 | 561 | 562 | /** 563 | * Handsontable listbox theme 564 | */ 565 | 566 | .handsontable.listbox { 567 | margin: 0; 568 | } 569 | 570 | .handsontable.listbox .ht_master table { 571 | border: 1px solid #ccc; 572 | border-collapse: separate; 573 | background: white; 574 | } 575 | 576 | .handsontable.listbox th, 577 | .handsontable.listbox tr:first-child th, 578 | .handsontable.listbox tr:last-child th, 579 | .handsontable.listbox tr:first-child td, 580 | .handsontable.listbox td { 581 | border-color: transparent; 582 | } 583 | 584 | .handsontable.listbox th, 585 | .handsontable.listbox td { 586 | white-space: nowrap; 587 | text-overflow: ellipsis; 588 | } 589 | 590 | .handsontable.listbox td.htDimmed { 591 | cursor: default; 592 | color: inherit; 593 | font-style: inherit; 594 | } 595 | 596 | .handsontable.listbox .wtBorder { 597 | visibility: hidden; 598 | } 599 | 600 | .handsontable.listbox tr td.current, 601 | .handsontable.listbox tr:hover td { 602 | background: #eee; 603 | } 604 | 605 | .ht_clone_top { 606 | z-index: 101; 607 | } 608 | 609 | .ht_clone_left { 610 | z-index: 102; 611 | } 612 | 613 | .ht_clone_top_left_corner, 614 | .ht_clone_bottom_left_corner { 615 | z-index: 103; 616 | } 617 | 618 | .ht_clone_debug { 619 | z-index: 103; 620 | } 621 | 622 | .handsontable td.htSearchResult { 623 | background: #fcedd9; 624 | color: #583707; 625 | } 626 | 627 | /* 628 | Cell borders 629 | */ 630 | .htBordered{ 631 | /*box-sizing: border-box !important;*/ 632 | border-width: 1px; 633 | } 634 | .htBordered.htTopBorderSolid { 635 | border-top-style: solid; 636 | border-top-color: #000; 637 | } 638 | .htBordered.htRightBorderSolid { 639 | border-right-style: solid; 640 | border-right-color: #000; 641 | } 642 | .htBordered.htBottomBorderSolid { 643 | border-bottom-style: solid; 644 | border-bottom-color: #000; 645 | } 646 | .htBordered.htLeftBorderSolid { 647 | border-left-style: solid; 648 | border-left-color: #000; 649 | } 650 | 651 | .handsontable tbody tr th:nth-last-child(2) { 652 | border-right: 1px solid #CCC; 653 | } 654 | 655 | .handsontable thead tr:nth-last-child(2) th.htGroupIndicatorContainer { 656 | border-bottom: 1px solid #CCC; 657 | padding-bottom: 5px; 658 | } 659 | 660 | 661 | .ht_clone_top_left_corner thead tr th:nth-last-child(2) { 662 | border-right: 1px solid #CCC; 663 | } 664 | 665 | .htCollapseButton { 666 | width: 10px; 667 | height: 10px; 668 | line-height: 10px; 669 | text-align: center; 670 | border-radius: 5px; 671 | border: 1px solid #f3f3f3; 672 | -webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4); 673 | box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4); 674 | cursor: pointer; 675 | margin-bottom: 3px; 676 | position: relative; 677 | } 678 | 679 | .htCollapseButton:after { 680 | content: ""; 681 | height: 300%; 682 | width: 1px; 683 | display: block; 684 | background: #ccc; 685 | margin-left: 4px; 686 | position: absolute; 687 | /*top: -300%;*/ 688 | bottom: 10px; 689 | } 690 | 691 | 692 | thead .htCollapseButton { 693 | right: 5px; 694 | position: absolute; 695 | top: 5px; 696 | background: #fff; 697 | } 698 | 699 | thead .htCollapseButton:after { 700 | height: 1px; 701 | width: 700%; 702 | right: 10px; 703 | top: 4px; 704 | } 705 | 706 | .handsontable tr th .htExpandButton { 707 | position: absolute; 708 | width: 10px; 709 | height: 10px; 710 | line-height: 10px; 711 | text-align: center; 712 | border-radius: 5px; 713 | border: 1px solid #f3f3f3; 714 | -webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4); 715 | box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4); 716 | cursor: pointer; 717 | top: 0; 718 | display: none; 719 | } 720 | 721 | .handsontable thead tr th .htExpandButton { 722 | /*left: 5px;*/ 723 | top: 5px; 724 | } 725 | 726 | .handsontable tr th .htExpandButton.clickable { 727 | display: block; 728 | } 729 | 730 | .collapsibleIndicator { 731 | position: absolute; 732 | top: 50%; 733 | transform: translate(0% ,-50%); 734 | right: 5px; 735 | border: 1px solid #A6A6A6; 736 | line-height: 10px; 737 | color: #222; 738 | border-radius: 10px; 739 | font-size: 10px; 740 | width: 10px; 741 | height: 10px; 742 | cursor: pointer; 743 | -webkit-box-shadow: 0 0 0 6px rgba(238,238,238,1); 744 | -moz-box-shadow: 0 0 0 6px rgba(238,238,238,1); 745 | box-shadow: 0 0 0 6px rgba(238,238,238,1); 746 | background: #eee; 747 | } 748 | 749 | .handsontable col.hidden { 750 | width: 0 !important; 751 | } 752 | 753 | .handsontable table tr th.lightRightBorder { 754 | border-right: 1px solid #E6E6E6; 755 | } 756 | 757 | .handsontable tr.hidden, 758 | .handsontable tr.hidden td, 759 | .handsontable tr.hidden th { 760 | display: none; 761 | } 762 | 763 | .ht_master, 764 | .ht_clone_left, 765 | .ht_clone_top, 766 | .ht_clone_bottom { 767 | overflow: hidden; 768 | } 769 | 770 | .ht_master .wtHolder { 771 | overflow: auto; 772 | } 773 | 774 | .ht_clone_left .wtHolder { 775 | overflow-x: hidden; 776 | overflow-y: auto; 777 | } 778 | 779 | .ht_clone_top .wtHolder, 780 | .ht_clone_bottom .wtHolder { 781 | overflow-x: auto; 782 | overflow-y: hidden; 783 | } 784 | 785 | 786 | /*WalkontableDebugOverlay*/ 787 | 788 | .wtDebugHidden { 789 | display: none; 790 | } 791 | 792 | .wtDebugVisible { 793 | display: block; 794 | -webkit-animation-duration: 0.5s; 795 | -webkit-animation-name: wtFadeInFromNone; 796 | animation-duration: 0.5s; 797 | animation-name: wtFadeInFromNone; 798 | } 799 | 800 | @keyframes wtFadeInFromNone { 801 | 0% { 802 | display: none; 803 | opacity: 0; 804 | } 805 | 806 | 1% { 807 | display: block; 808 | opacity: 0; 809 | } 810 | 811 | 100% { 812 | display: block; 813 | opacity: 1; 814 | } 815 | } 816 | 817 | @-webkit-keyframes wtFadeInFromNone { 818 | 0% { 819 | display: none; 820 | opacity: 0; 821 | } 822 | 823 | 1% { 824 | display: block; 825 | opacity: 0; 826 | } 827 | 828 | 100% { 829 | display: block; 830 | opacity: 1; 831 | } 832 | } 833 | /* 834 | 835 | Handsontable Mobile Text Editor stylesheet 836 | 837 | */ 838 | 839 | .handsontable.mobile, 840 | .handsontable.mobile .wtHolder { 841 | -webkit-touch-callout:none; 842 | -webkit-user-select:none; 843 | -khtml-user-select:none; 844 | -moz-user-select:none; 845 | -ms-user-select:none; 846 | user-select:none; 847 | -webkit-tap-highlight-color:rgba(0,0,0,0); 848 | -webkit-overflow-scrolling: touch; 849 | } 850 | 851 | .htMobileEditorContainer { 852 | display: none; 853 | position: absolute; 854 | top: 0; 855 | width: 70%; 856 | height: 54pt; 857 | background: #f8f8f8; 858 | border-radius: 20px; 859 | border: 1px solid #ebebeb; 860 | z-index: 999; 861 | box-sizing: border-box; 862 | -webkit-box-sizing: border-box; 863 | -webkit-text-size-adjust: none; 864 | } 865 | 866 | .topLeftSelectionHandle:not(.ht_master .topLeftSelectionHandle), 867 | .topLeftSelectionHandle-HitArea:not(.ht_master .topLeftSelectionHandle-HitArea) { 868 | z-index: 9999; 869 | } 870 | 871 | /* Initial left/top coordinates - overwritten when actual position is set */ 872 | .topLeftSelectionHandle, 873 | .topLeftSelectionHandle-HitArea, 874 | .bottomRightSelectionHandle, 875 | .bottomRightSelectionHandle-HitArea { 876 | left: -10000px; 877 | top: -10000px; 878 | } 879 | 880 | .htMobileEditorContainer.active { 881 | display: block; 882 | } 883 | 884 | .htMobileEditorContainer .inputs { 885 | position: absolute; 886 | right: 210pt; 887 | bottom: 10pt; 888 | top: 10pt; 889 | left: 14px; 890 | height: 34pt; 891 | } 892 | 893 | .htMobileEditorContainer .inputs textarea { 894 | font-size: 13pt; 895 | border: 1px solid #a1a1a1; 896 | -webkit-appearance: none; 897 | -webkit-box-shadow: none; 898 | -moz-box-shadow: none; 899 | box-shadow: none; 900 | position: absolute; 901 | left: 14px; 902 | right: 14px; 903 | top: 0; 904 | bottom: 0; 905 | padding: 7pt; 906 | } 907 | 908 | .htMobileEditorContainer .cellPointer { 909 | position: absolute; 910 | top: -13pt; 911 | height: 0; 912 | width: 0; 913 | left: 30px; 914 | 915 | border-left: 13pt solid transparent; 916 | border-right: 13pt solid transparent; 917 | border-bottom: 13pt solid #ebebeb; 918 | } 919 | 920 | .htMobileEditorContainer .cellPointer.hidden { 921 | display: none; 922 | } 923 | 924 | .htMobileEditorContainer .cellPointer:before { 925 | content: ''; 926 | display: block; 927 | position: absolute; 928 | top: 2px; 929 | height: 0; 930 | width: 0; 931 | left: -13pt; 932 | 933 | border-left: 13pt solid transparent; 934 | border-right: 13pt solid transparent; 935 | border-bottom: 13pt solid #f8f8f8; 936 | } 937 | 938 | .htMobileEditorContainer .moveHandle { 939 | position: absolute; 940 | top: 10pt; 941 | left: 5px; 942 | width: 30px; 943 | bottom: 0px; 944 | cursor: move; 945 | z-index: 9999; 946 | } 947 | 948 | .htMobileEditorContainer .moveHandle:after { 949 | content: "..\A..\A..\A.."; 950 | white-space: pre; 951 | line-height: 10px; 952 | font-size: 20pt; 953 | display: inline-block; 954 | margin-top: -8px; 955 | color: #ebebeb; 956 | } 957 | 958 | .htMobileEditorContainer .positionControls { 959 | width: 205pt; 960 | position: absolute; 961 | right: 5pt; 962 | top: 0; 963 | bottom: 0; 964 | } 965 | 966 | .htMobileEditorContainer .positionControls > div { 967 | width: 50pt; 968 | height: 100%; 969 | float: left; 970 | } 971 | 972 | .htMobileEditorContainer .positionControls > div:after { 973 | content: " "; 974 | display: block; 975 | width: 15pt; 976 | height: 15pt; 977 | text-align: center; 978 | line-height: 50pt; 979 | } 980 | 981 | .htMobileEditorContainer .leftButton:after, 982 | .htMobileEditorContainer .rightButton:after, 983 | .htMobileEditorContainer .upButton:after, 984 | .htMobileEditorContainer .downButton:after { 985 | transform-origin: 5pt 5pt; 986 | -webkit-transform-origin: 5pt 5pt; 987 | margin: 21pt 0 0 21pt; 988 | } 989 | 990 | .htMobileEditorContainer .leftButton:after { 991 | border-top: 2px solid #288ffe; 992 | border-left: 2px solid #288ffe; 993 | -webkit-transform: rotate(-45deg); 994 | /*margin-top: 17pt;*/ 995 | /*margin-left: 20pt;*/ 996 | } 997 | .htMobileEditorContainer .leftButton:active:after { 998 | border-color: #cfcfcf; 999 | } 1000 | 1001 | .htMobileEditorContainer .rightButton:after { 1002 | border-top: 2px solid #288ffe; 1003 | border-left: 2px solid #288ffe; 1004 | -webkit-transform: rotate(135deg); 1005 | /*margin-top: 17pt;*/ 1006 | /*margin-left: 10pt;*/ 1007 | } 1008 | .htMobileEditorContainer .rightButton:active:after { 1009 | border-color: #cfcfcf; 1010 | } 1011 | 1012 | .htMobileEditorContainer .upButton:after { 1013 | /*border-top: 2px solid #cfcfcf;*/ 1014 | border-top: 2px solid #288ffe; 1015 | border-left: 2px solid #288ffe; 1016 | -webkit-transform: rotate(45deg); 1017 | /*margin-top: 22pt;*/ 1018 | /*margin-left: 15pt;*/ 1019 | } 1020 | .htMobileEditorContainer .upButton:active:after { 1021 | border-color: #cfcfcf; 1022 | } 1023 | 1024 | .htMobileEditorContainer .downButton:after { 1025 | border-top: 2px solid #288ffe; 1026 | border-left: 2px solid #288ffe; 1027 | -webkit-transform: rotate(225deg); 1028 | /*margin-top: 15pt;*/ 1029 | /*margin-left: 15pt;*/ 1030 | } 1031 | .htMobileEditorContainer .downButton:active:after { 1032 | border-color: #cfcfcf; 1033 | } 1034 | 1035 | .handsontable.hide-tween { 1036 | -webkit-animation: opacity-hide 0.3s; 1037 | animation: opacity-hide 0.3s; 1038 | animation-fill-mode: forwards; 1039 | -webkit-animation-fill-mode: forwards; 1040 | } 1041 | 1042 | .handsontable.show-tween { 1043 | -webkit-animation: opacity-show 0.3s; 1044 | animation: opacity-show 0.3s; 1045 | animation-fill-mode: forwards; 1046 | -webkit-animation-fill-mode: forwards; 1047 | } 1048 | .htCommentCell { 1049 | position: relative; 1050 | } 1051 | 1052 | .htCommentCell:after { 1053 | content: ''; 1054 | position: absolute; 1055 | top: 0; 1056 | right: 0; 1057 | border-left: 6px solid transparent; 1058 | border-top: 6px solid black; 1059 | } 1060 | 1061 | .htComments { 1062 | display: none; 1063 | z-index: 1059; 1064 | position: absolute; 1065 | } 1066 | 1067 | .htCommentTextArea { 1068 | box-shadow: rgba(0, 0, 0, 0.117647) 0 1px 3px, rgba(0, 0, 0, 0.239216) 0 1px 2px; 1069 | -webkit-box-sizing: border-box; 1070 | -moz-box-sizing: border-box; 1071 | box-sizing: border-box; 1072 | border: none; 1073 | border-left: 3px solid #ccc; 1074 | background-color: #fff; 1075 | width: 215px; 1076 | height: 90px; 1077 | font-size: 12px; 1078 | padding: 5px; 1079 | outline: 0px !important; 1080 | -webkit-appearance: none; 1081 | } 1082 | 1083 | .htCommentTextArea:focus { 1084 | box-shadow: rgba(0, 0, 0, 0.117647) 0 1px 3px, rgba(0, 0, 0, 0.239216) 0 1px 2px, inset 0 0 0 1px #5292f7; 1085 | border-left: 3px solid #5292f7; 1086 | } 1087 | /*! 1088 | * Handsontable ContextMenu 1089 | */ 1090 | 1091 | .htContextMenu { 1092 | display: none; 1093 | position: absolute; 1094 | z-index: 1060; /* needs to be higher than 1050 - z-index for Twitter Bootstrap modal (#1569) */ 1095 | } 1096 | 1097 | .htContextMenu .ht_clone_top, 1098 | .htContextMenu .ht_clone_left, 1099 | .htContextMenu .ht_clone_corner, 1100 | .htContextMenu .ht_clone_debug { 1101 | display: none; 1102 | } 1103 | 1104 | .htContextMenu table.htCore { 1105 | border: 1px solid #ccc; 1106 | border-bottom-width: 2px; 1107 | border-right-width: 2px; 1108 | } 1109 | 1110 | .htContextMenu .wtBorder { 1111 | visibility: hidden; 1112 | } 1113 | 1114 | .htContextMenu table tbody tr td { 1115 | background: white; 1116 | border-width: 0; 1117 | padding: 4px 6px 0 6px; 1118 | cursor: pointer; 1119 | overflow: hidden; 1120 | white-space: nowrap; 1121 | text-overflow: ellipsis; 1122 | } 1123 | 1124 | .htContextMenu table tbody tr td:first-child { 1125 | border: 0; 1126 | } 1127 | 1128 | .htContextMenu table tbody tr td.htDimmed { 1129 | font-style: normal; 1130 | color: #323232; 1131 | } 1132 | 1133 | .htContextMenu table tbody tr td.current, 1134 | .htContextMenu table tbody tr td.zeroclipboard-is-hover { 1135 | background: #f3f3f3; 1136 | } 1137 | 1138 | .htContextMenu table tbody tr td.htSeparator { 1139 | border-top: 1px solid #bbb; 1140 | height: 0; 1141 | padding: 0; 1142 | cursor: default; 1143 | } 1144 | 1145 | .htContextMenu table tbody tr td.htDisabled { 1146 | color: #999; 1147 | cursor: default; 1148 | } 1149 | 1150 | .htContextMenu table tbody tr td.htDisabled:hover { 1151 | background: #fff; 1152 | color: #999; 1153 | cursor: default; 1154 | } 1155 | 1156 | .htContextMenu table tbody tr.htHidden { 1157 | display: none; 1158 | } 1159 | 1160 | .htContextMenu table tbody tr td .htItemWrapper { 1161 | margin-left: 10px; 1162 | margin-right: 6px; 1163 | } 1164 | 1165 | .htContextMenu table tbody tr td div span.selected { 1166 | margin-top: -2px; 1167 | position: absolute; 1168 | left: 4px; 1169 | } 1170 | 1171 | .htContextMenu .ht_master .wtHolder { 1172 | overflow: hidden; 1173 | } 1174 | .htRowHeaders .ht_master.innerBorderLeft ~ .ht_clone_top_left_corner th:nth-child(2), 1175 | .htRowHeaders .ht_master.innerBorderLeft ~ .ht_clone_left td:first-of-type { 1176 | border-left: 0 none; 1177 | } 1178 | .handsontable .wtHider { 1179 | position: relative; 1180 | } 1181 | .handsontable.ht__manualColumnMove.after-selection--columns thead th.ht__highlight { 1182 | cursor: move; 1183 | cursor: -moz-grab; 1184 | cursor: -webkit-grab; 1185 | cursor: grab; 1186 | } 1187 | .handsontable.ht__manualColumnMove.on-moving--columns, 1188 | .handsontable.ht__manualColumnMove.on-moving--columns thead th.ht__highlight { 1189 | cursor: move; 1190 | cursor: -moz-grabbing; 1191 | cursor: -webkit-grabbing; 1192 | cursor: grabbing; 1193 | } 1194 | .handsontable.ht__manualColumnMove.on-moving--columns .manualColumnResizer { 1195 | display: none; 1196 | } 1197 | .handsontable .ht__manualColumnMove--guideline, 1198 | .handsontable .ht__manualColumnMove--backlight { 1199 | position: absolute; 1200 | height: 100%; 1201 | display: none; 1202 | } 1203 | .handsontable .ht__manualColumnMove--guideline { 1204 | background: #757575; 1205 | width: 2px; 1206 | top: 0; 1207 | margin-left: -1px; 1208 | z-index: 105; 1209 | } 1210 | .handsontable .ht__manualColumnMove--backlight { 1211 | background: #343434; 1212 | background: rgba(52, 52, 52, 0.25); 1213 | display: none; 1214 | z-index: 105; 1215 | pointer-events: none; 1216 | } 1217 | .handsontable.on-moving--columns.show-ui .ht__manualColumnMove--guideline, 1218 | .handsontable.on-moving--columns .ht__manualColumnMove--backlight { 1219 | display: block; 1220 | } 1221 | .handsontable .wtHider { 1222 | position: relative; 1223 | } 1224 | .handsontable.ht__manualRowMove.after-selection--rows tbody th.ht__highlight { 1225 | cursor: move; 1226 | cursor: -moz-grab; 1227 | cursor: -webkit-grab; 1228 | cursor: grab; 1229 | } 1230 | .handsontable.ht__manualRowMove.on-moving--rows, 1231 | .handsontable.ht__manualRowMove.on-moving--rows tbody th.ht__highlight { 1232 | cursor: move; 1233 | cursor: -moz-grabbing; 1234 | cursor: -webkit-grabbing; 1235 | cursor: grabbing; 1236 | } 1237 | .handsontable.ht__manualRowMove.on-moving--rows .manualRowResizer { 1238 | display: none; 1239 | } 1240 | .handsontable .ht__manualRowMove--guideline, 1241 | .handsontable .ht__manualRowMove--backlight { 1242 | position: absolute; 1243 | width: 100%; 1244 | display: none; 1245 | } 1246 | .handsontable .ht__manualRowMove--guideline { 1247 | background: #757575; 1248 | height: 2px; 1249 | left: 0; 1250 | margin-top: -1px; 1251 | z-index: 105; 1252 | } 1253 | .handsontable .ht__manualRowMove--backlight { 1254 | background: #343434; 1255 | background: rgba(52, 52, 52, 0.25); 1256 | display: none; 1257 | z-index: 105; 1258 | pointer-events: none; 1259 | } 1260 | .handsontable.on-moving--rows.show-ui .ht__manualRowMove--guideline, 1261 | .handsontable.on-moving--rows .ht__manualRowMove--backlight { 1262 | display: block; 1263 | } 1264 | 1265 | /*# sourceMappingURL=handsontable.css.map*/ -------------------------------------------------------------------------------- /graph.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Echarts-DataViewTableDemo 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
18 | 下载 19 | 关闭 20 |
21 | 22 | 23 | 156 | 157 | 158 | -------------------------------------------------------------------------------- /js/dateUtil.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 日期处理工具类 3 | */ 4 | 5 | var dateUtil = function(){ 6 | 7 | /** 8 | * 获得count天前或后的日期 9 | * @param dateStr日期字符串,格式:2013/04/02 10 | * @param count 整数,为负数时代表之前的日期,为正数代表之后的日期 11 | * @return str 指定格式的时间 格式:2013/04/01 12 | */ 13 | this.adjacentDate=function(dateStr,count){ 14 | // console.log(dateStr); 15 | // console.log(count); 16 | // console.log(typeof dateStr); 17 | var time=dateStr.split('/'); 18 | if(time.length<0){ 19 | return null; 20 | } 21 | var year=time[0]; 22 | var month=time[1]; 23 | var day=time[2]; 24 | var date=new Date(year,month-1,day); 25 | date.setDate(date.getDate()+count); 26 | 27 | return this.format(date); 28 | } 29 | 30 | /** 31 | * 格式化日期date 32 | * @param date日期 33 | * @return str 指定格式的时间 格式:2013/04/01 34 | */ 35 | this.format=function(date){ 36 | var y=date.getFullYear(); 37 | var m=date.getMonth()+1; 38 | if(m<10){ 39 | m='0'+m; 40 | } 41 | var d=date.getDate(); 42 | if(d<10){ 43 | d='0'+d; 44 | } 45 | 46 | var str=y+'/'+m+'/'+d; 47 | return str; 48 | } 49 | 50 | /** 51 | * 判断闰年 52 | * @param date Date日期对象 53 | * @return boolean true 或false 54 | */ 55 | this.isLeapYear = function(date){ 56 | return (0==date.getYear()%4&&((date.getYear()%100!=0)||(date.getYear()%400==0))); 57 | } 58 | 59 | /** 60 | * 日期对象转换为指定格式的字符串 61 | * @param f 日期格式,格式定义如下 yyyy-MM-dd HH:mm:ss 62 | * @param date Date日期对象, 如果缺省,则为当前时间 63 | * 64 | * YYYY/yyyy/YY/yy 表示年份 65 | * MM/M 月份 66 | * W/w 星期 67 | * dd/DD/d/D 日期 68 | * hh/HH/h/H 时间 69 | * mm/m 分钟 70 | * ss/SS/s/S 秒 71 | * @return string 指定格式的时间字符串 72 | */ 73 | this.dateToStr = function(formatStr, date){ 74 | formatStr = arguments[0] || "yyyy-MM-dd HH:mm:ss"; 75 | date = arguments[1] || new Date(); 76 | var str = formatStr; 77 | var Week = ['日','一','二','三','四','五','六']; 78 | str=str.replace(/yyyy|YYYY/,date.getFullYear()); 79 | str=str.replace(/yy|YY/,(date.getYear() % 100)>9?(date.getYear() % 100).toString():'0' + (date.getYear() % 100)); 80 | str=str.replace(/MM/,date.getMonth()>9?(date.getMonth() + 1):'0' + (date.getMonth() + 1)); 81 | str=str.replace(/M/g,date.getMonth()); 82 | str=str.replace(/w|W/g,Week[date.getDay()]); 83 | 84 | str=str.replace(/dd|DD/,date.getDate()>9?date.getDate().toString():'0' + date.getDate()); 85 | str=str.replace(/d|D/g,date.getDate()); 86 | 87 | str=str.replace(/hh|HH/,date.getHours()>9?date.getHours().toString():'0' + date.getHours()); 88 | str=str.replace(/h|H/g,date.getHours()); 89 | str=str.replace(/mm/,date.getMinutes()>9?date.getMinutes().toString():'0' + date.getMinutes()); 90 | str=str.replace(/m/g,date.getMinutes()); 91 | 92 | str=str.replace(/ss|SS/,date.getSeconds()>9?date.getSeconds().toString():'0' + date.getSeconds()); 93 | str=str.replace(/s|S/g,date.getSeconds()); 94 | 95 | return str; 96 | } 97 | 98 | 99 | /** 100 | * 日期计算 101 | * @param strInterval string 可选值 y 年 m月 d日 w星期 ww周 h时 n分 s秒 102 | * @param num int 103 | * @param date Date 日期对象 104 | * @return Date 返回日期对象 105 | */ 106 | this.dateAdd = function(strInterval, num, date){ 107 | date = arguments[2] || new Date(); 108 | switch (strInterval) { 109 | case 's' :return new Date(date.getTime() + (1000 * num)); 110 | case 'n' :return new Date(date.getTime() + (60000 * num)); 111 | case 'h' :return new Date(date.getTime() + (3600000 * num)); 112 | case 'd' :return new Date(date.getTime() + (86400000 * num)); 113 | case 'w' :return new Date(date.getTime() + ((86400000 * 7) * num)); 114 | case 'm' :return new Date(date.getFullYear(), (date.getMonth()) + num, date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()); 115 | case 'y' :return new Date((date.getFullYear() + num), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()); 116 | } 117 | } 118 | 119 | /** 120 | * 比较日期差 dtEnd 格式为日期型或者有效日期格式字符串 121 | * @param strInterval string 可选值 y 年 m月 d日 w星期 ww周 h时 n分 s秒 122 | * @param dtStart Date 可选值 y 年 m月 d日 w星期 ww周 h时 n分 s秒 123 | * @param dtEnd Date 可选值 y 年 m月 d日 w星期 ww周 h时 n分 s秒 124 | */ 125 | this.dateDiff = function(strInterval, dtStart, dtEnd) { 126 | switch (strInterval) { 127 | case 's' :return parseInt((dtEnd - dtStart) / 1000); 128 | case 'n' :return parseInt((dtEnd - dtStart) / 60000); 129 | case 'h' :return parseInt((dtEnd - dtStart) / 3600000); 130 | case 'd' :return parseInt((dtEnd - dtStart) / 86400000); 131 | case 'w' :return parseInt((dtEnd - dtStart) / (86400000 * 7)); 132 | case 'm' :return (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12) - (dtStart.getMonth()+1); 133 | case 'y' :return dtEnd.getFullYear() - dtStart.getFullYear(); 134 | } 135 | } 136 | 137 | /** 138 | * 字符串转换为日期对象 139 | * @param date Date 格式为yyyy-MM-dd HH:mm:ss,必须按年月日时分秒的顺序,中间分隔符不限制 140 | */ 141 | this.strToDate = function(dateStr){ 142 | var data = dateStr; 143 | var reCat = /(\d{1,4})/gm; 144 | var t = data.match(reCat); 145 | t[1] = t[1] - 1; 146 | eval('var d = new Date('+t.join(',')+');'); 147 | return d; 148 | } 149 | 150 | /** 151 | * 把指定格式的字符串转换为日期对象yyyy-MM-dd HH:mm:ss 152 | * 153 | */ 154 | this.strFormatToDate = function(formatStr, dateStr){ 155 | var year = 0; 156 | var start = -1; 157 | var len = dateStr.length; 158 | if((start = formatStr.indexOf('yyyy')) > -1 && start < len){ 159 | year = dateStr.substr(start, 4); 160 | } 161 | var month = 0; 162 | if((start = formatStr.indexOf('MM')) > -1 && start < len){ 163 | month = parseInt(dateStr.substr(start, 2)) - 1; 164 | } 165 | var day = 0; 166 | if((start = formatStr.indexOf('dd')) > -1 && start < len){ 167 | day = parseInt(dateStr.substr(start, 2)); 168 | } 169 | var hour = 0; 170 | if( ((start = formatStr.indexOf('HH')) > -1 || (start = formatStr.indexOf('hh')) > 1) && start < len){ 171 | hour = parseInt(dateStr.substr(start, 2)); 172 | } 173 | var minute = 0; 174 | if((start = formatStr.indexOf('mm')) > -1 && start < len){ 175 | minute = dateStr.substr(start, 2); 176 | } 177 | var second = 0; 178 | if((start = formatStr.indexOf('ss')) > -1 && start < len){ 179 | second = dateStr.substr(start, 2); 180 | } 181 | return new Date(year, month, day, hour, minute, second); 182 | } 183 | 184 | 185 | /** 186 | * 日期对象转换为毫秒数 187 | */ 188 | this.dateToLong = function(date){ 189 | return date.getTime(); 190 | } 191 | 192 | /** 193 | * 毫秒转换为日期对象 194 | * @param dateVal number 日期的毫秒数 195 | */ 196 | this.longToDate = function(dateVal){ 197 | return new Date(dateVal); 198 | } 199 | 200 | /** 201 | * 判断字符串是否为日期格式 202 | * @param str string 字符串 203 | * @param formatStr string 日期格式, 如下 yyyy-MM-dd 204 | */ 205 | this.isDate = function(str, formatStr){ 206 | if (formatStr == null){ 207 | formatStr = "yyyyMMdd"; 208 | } 209 | var yIndex = formatStr.indexOf("yyyy"); 210 | if(yIndex==-1){ 211 | return false; 212 | } 213 | var year = str.substring(yIndex,yIndex+4); 214 | var mIndex = formatStr.indexOf("MM"); 215 | if(mIndex==-1){ 216 | return false; 217 | } 218 | var month = str.substring(mIndex,mIndex+2); 219 | var dIndex = formatStr.indexOf("dd"); 220 | if(dIndex==-1){ 221 | return false; 222 | } 223 | var day = str.substring(dIndex,dIndex+2); 224 | if(!isNumber(year)||year>"2100" || year< "1900"){ 225 | return false; 226 | } 227 | if(!isNumber(month)||month>"12" || month< "01"){ 228 | return false; 229 | } 230 | if(day>getMaxDay(year,month) || day< "01"){ 231 | return false; 232 | } 233 | return true; 234 | } 235 | 236 | this.getMaxDay = function(year,month) { 237 | if(month==4||month==6||month==9||month==11) 238 | return "30"; 239 | if(month==2) 240 | if(year%4==0&&year%100!=0 || year%400==0) 241 | return "29"; 242 | else 243 | return "28"; 244 | return "31"; 245 | } 246 | /** 247 | * 变量是否为数字 248 | */ 249 | this.isNumber = function(str) 250 | { 251 | var regExp = /^\d+$/g; 252 | return regExp.test(str); 253 | } 254 | 255 | /** 256 | * 把日期分割成数组 [年、月、日、时、分、秒] 257 | */ 258 | this.toArray = function(myDate) 259 | { 260 | myDate = arguments[0] || new Date(); 261 | var myArray = Array(); 262 | myArray[0] = myDate.getFullYear(); 263 | myArray[1] = myDate.getMonth(); 264 | myArray[2] = myDate.getDate(); 265 | myArray[3] = myDate.getHours(); 266 | myArray[4] = myDate.getMinutes(); 267 | myArray[5] = myDate.getSeconds(); 268 | return myArray; 269 | } 270 | 271 | /** 272 | * 取得日期数据信息 273 | * 参数 interval 表示数据类型 274 | * y 年 M月 d日 w星期 ww周 h时 n分 s秒 275 | */ 276 | this.datePart = function(interval, myDate) 277 | { 278 | myDate = arguments[1] || new Date(); 279 | var partStr=''; 280 | var Week = ['日','一','二','三','四','五','六']; 281 | switch (interval) 282 | { 283 | case 'y' :partStr = myDate.getFullYear();break; 284 | case 'M' :partStr = myDate.getMonth()+1;break; 285 | case 'd' :partStr = myDate.getDate();break; 286 | case 'w' :partStr = Week[myDate.getDay()];break; 287 | case 'ww' :partStr = myDate.WeekNumOfYear();break; 288 | case 'h' :partStr = myDate.getHours();break; 289 | case 'm' :partStr = myDate.getMinutes();break; 290 | case 's' :partStr = myDate.getSeconds();break; 291 | } 292 | return partStr; 293 | } 294 | 295 | /** 296 | * 取得当前日期所在月的最大天数 297 | */ 298 | this.maxDayOfDate = function(date) 299 | { 300 | date = arguments[0] || new Date(); 301 | date.setDate(1); 302 | date.setMonth(date.getMonth() + 1); 303 | var time = date.getTime() - 24 * 60 * 60 * 1000; 304 | var newDate = new Date(time); 305 | return newDate.getDate(); 306 | } 307 | 308 | return this; 309 | }(); -------------------------------------------------------------------------------- /js/jquery-2.1.0.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery v2.1.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ 2 | !function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m=a.document,n="2.1.0",o=function(a,b){return new o.fn.init(a,b)},p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};o.fn=o.prototype={jquery:n,constructor:o,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=o.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return o.each(this,a,b)},map:function(a){return this.pushStack(o.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},o.extend=o.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||o.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(o.isPlainObject(d)||(e=o.isArray(d)))?(e?(e=!1,f=c&&o.isArray(c)?c:[]):f=c&&o.isPlainObject(c)?c:{},g[b]=o.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},o.extend({expando:"jQuery"+(n+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===o.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isPlainObject:function(a){if("object"!==o.type(a)||a.nodeType||o.isWindow(a))return!1;try{if(a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(b){return!1}return!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=o.trim(a),a&&(1===a.indexOf("use strict")?(b=m.createElement("script"),b.text=a,m.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":k.call(a)},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?o.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),o.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||o.guid++,f):void 0},now:Date.now,support:l}),o.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=o.type(a);return"function"===c||o.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="
",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},z=b?function(a,b){if(a===b)return j=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]===k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}else if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do if(c=n?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return!g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++)if(c=d.relative[a[j].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++)if(d.relative[a[e].type])break;return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++])if(o(m,g,i)){j.push(m);break}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++])o(r,s,g,i);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=E.call(j));s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--)f=ub(b[c]),f[s]?d.push(f):e.push(f);f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b)return e;a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type])break;if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a)return G.apply(e,f),e;break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);o.find=t,o.expr=t.selectors,o.expr[":"]=o.expr.pseudos,o.unique=t.uniqueSort,o.text=t.getText,o.isXMLDoc=t.isXML,o.contains=t.contains;var u=o.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(o.isFunction(b))return o.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return o.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return o.filter(b,a,c);b=o.filter(b,a)}return o.grep(a,function(a){return g.call(b,a)>=0!==c})}o.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?o.find.matchesSelector(d,a)?[d]:[]:o.find.matches(a,o.grep(b,function(a){return 1===a.nodeType}))},o.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(o(a).filter(function(){for(b=0;c>b;b++)if(o.contains(e[b],this))return!0}));for(b=0;c>b;b++)o.find(a,e[b],d);return d=this.pushStack(c>1?o.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?o(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=o.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof o?b[0]:b,o.merge(this,o.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:m,!0)),v.test(c[1])&&o.isPlainObject(b))for(c in b)o.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=m.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=m,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):o.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(o):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),o.makeArray(a,this))};A.prototype=o.fn,y=o(m);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};o.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&o(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),o.fn.extend({has:function(a){var b=o(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(o.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?o(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&o.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?o.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(o(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(o.unique(o.merge(this.get(),o(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}o.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return o.dir(a,"parentNode")},parentsUntil:function(a,b,c){return o.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return o.dir(a,"nextSibling")},prevAll:function(a){return o.dir(a,"previousSibling")},nextUntil:function(a,b,c){return o.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return o.dir(a,"previousSibling",c)},siblings:function(a){return o.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return o.sibling(a.firstChild)},contents:function(a){return a.contentDocument||o.merge([],a.childNodes)}},function(a,b){o.fn[a]=function(c,d){var e=o.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=o.filter(d,e)),this.length>1&&(C[a]||o.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return o.each(a.match(E)||[],function(a,c){b[c]=!0}),b}o.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):o.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){o.each(b,function(b,c){var d=o.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&o.each(arguments,function(a,b){var c;while((c=o.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?o.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},o.extend({Deferred:function(a){var b=[["resolve","done",o.Callbacks("once memory"),"resolved"],["reject","fail",o.Callbacks("once memory"),"rejected"],["notify","progress",o.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return o.Deferred(function(c){o.each(b,function(b,f){var g=o.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&o.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?o.extend(a,d):d}},e={};return d.pipe=d.then,o.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&o.isFunction(a.promise)?e:0,g=1===f?a:o.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&o.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;o.fn.ready=function(a){return o.ready.promise().done(a),this},o.extend({isReady:!1,readyWait:1,holdReady:function(a){a?o.readyWait++:o.ready(!0)},ready:function(a){(a===!0?--o.readyWait:o.isReady)||(o.isReady=!0,a!==!0&&--o.readyWait>0||(H.resolveWith(m,[o]),o.fn.trigger&&o(m).trigger("ready").off("ready")))}});function I(){m.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),o.ready()}o.ready.promise=function(b){return H||(H=o.Deferred(),"complete"===m.readyState?setTimeout(o.ready):(m.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},o.ready.promise();var J=o.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===o.type(c)){e=!0;for(h in c)o.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,o.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(o(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};o.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=o.expando+Math.random()}K.uid=1,K.accepts=o.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,o.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(o.isEmptyObject(f))o.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,o.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{o.isArray(b)?d=b.concat(b.map(o.camelCase)):(e=o.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!o.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?o.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}o.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),o.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length; 3 | while(c--)d=g[c].name,0===d.indexOf("data-")&&(d=o.camelCase(d.slice(5)),P(f,d,e[d]));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=o.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),o.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||o.isArray(c)?d=L.access(a,b,o.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=o.queue(a,b),d=c.length,e=c.shift(),f=o._queueHooks(a,b),g=function(){o.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:o.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),o.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";l.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return m.activeElement}catch(a){}}o.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=o.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof o!==U&&o.event.triggered!==b.type?o.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],n=q=h[1],p=(h[2]||"").split(".").sort(),n&&(l=o.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=o.event.special[n]||{},k=o.extend({type:n,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&o.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(n,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),o.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],n=q=h[1],p=(h[2]||"").split(".").sort(),n){l=o.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||o.removeEvent(a,n,r.handle),delete i[n])}else for(n in i)o.event.remove(a,n+b[j],c,d,!0);o.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,p=[d||m],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||m,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+o.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[o.expando]?b:new o.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:o.makeArray(c,[b]),n=o.event.special[q]||{},e||!n.trigger||n.trigger.apply(d,c)!==!1)){if(!e&&!n.noBubble&&!o.isWindow(d)){for(i=n.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||m)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:n.bindType||q,l=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),l&&l.apply(g,c),l=k&&g[k],l&&l.apply&&o.acceptData(g)&&(b.result=l.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||n._default&&n._default.apply(p.pop(),c)!==!1||!o.acceptData(d)||k&&o.isFunction(d[q])&&!o.isWindow(d)&&(h=d[k],h&&(d[k]=null),o.event.triggered=q,d[q](),o.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=o.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=o.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=o.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((o.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?o(e,this).index(i)>=0:o.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*\s*$/g,ib={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return o.nodeName(a,"table")&&o.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)o.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=o.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&o.nodeName(a,b)?o.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}o.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=o.contains(a.ownerDocument,a);if(!(l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||o.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,n=a.length;n>m;m++)if(e=a[m],e||0===e)if("object"===o.type(e))o.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;o.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===o.inArray(e,d))&&(i=o.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f,g,h=o.event.special,i=0;void 0!==(c=a[i]);i++){if(o.acceptData(c)&&(f=c[L.expando],f&&(b=L.cache[f]))){if(d=Object.keys(b.events||{}),d.length)for(g=0;void 0!==(e=d[g]);g++)h[e]?o.event.remove(c,e):o.removeEvent(c,e,b.handle);L.cache[f]&&delete L.cache[f]}delete M.cache[c[M.expando]]}}}),o.fn.extend({text:function(a){return J(this,function(a){return void 0===a?o.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?o.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||o.cleanData(ob(c)),c.parentNode&&(b&&o.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(o.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return o.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(o.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,o.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,n=k-1,p=a[0],q=o.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(c=o.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=o.map(ob(c,"script"),kb),g=f.length;k>j;j++)h=c,j!==n&&(h=o.clone(h,!0,!0),g&&o.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,o.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&o.contains(i,h)&&(h.src?o._evalUrl&&o._evalUrl(h.src):o.globalEval(h.textContent.replace(hb,"")))}return this}}),o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){o.fn[a]=function(a){for(var c,d=[],e=o(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),o(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d=o(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:o.css(d[0],"display");return d.detach(),e}function tb(a){var b=m,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||o("';break;case 3:delete t.title,delete t.closeBtn,t.icon===-1&&0===t.icon,r.closeAll("loading");break;case 4:f||(t.content=[t.content,"body"]),t.follow=t.content[1],t.content=t.content[0]+'',delete t.title,t.tips="object"==typeof t.tips?t.tips:[t.tips,!0],t.tipsMore||r.closeAll("tips")}e.vessel(f,function(n,r,u){c.append(n[0]),f?function(){2==t.type||4==t.type?function(){i("body").append(n[1])}():function(){s.parents("."+l[0])[0]||(s.data("display",s.css("display")).show().addClass("layui-layer-wrap").wrap(n[1]),i("#"+l[0]+a).find("."+l[5]).before(r))}()}():c.append(n[1]),i(".layui-layer-move")[0]||c.append(o.moveElem=u),e.layero=i("#"+l[0]+a),t.scrollbar||l.html.css("overflow","hidden").attr("layer-full",a)}).auto(a),2==t.type&&6==r.ie&&e.layero.find("iframe").attr("src",s[0]),4==t.type?e.tips():e.offset(),t.fixed&&n.on("resize",function(){e.offset(),(/^\d+%$/.test(t.area[0])||/^\d+%$/.test(t.area[1]))&&e.auto(a),4==t.type&&e.tips()}),t.time<=0||setTimeout(function(){r.close(e.index)},t.time),e.move().callback(),l.anim[t.anim]&&e.layero.addClass(l.anim[t.anim]),t.isOutAnim&&e.layero.data("isOutAnim",!0)}},s.pt.auto=function(e){function t(e){e=s.find(e),e.height(f[1]-c-u-2*(0|parseFloat(e.css("padding-top"))))}var a=this,o=a.config,s=i("#"+l[0]+e);""===o.area[0]&&o.maxWidth>0&&(r.ie&&r.ie<8&&o.btn&&s.width(s.innerWidth()),s.outerWidth()>o.maxWidth&&s.width(o.maxWidth));var f=[s.innerWidth(),s.innerHeight()],c=s.find(l[1]).outerHeight()||0,u=s.find("."+l[6]).outerHeight()||0;switch(o.type){case 2:t("iframe");break;default:""===o.area[1]?o.fixed&&f[1]>=n.height()&&(f[1]=n.height(),t("."+l[5])):t("."+l[5])}return a},s.pt.offset=function(){var e=this,t=e.config,i=e.layero,a=[i.outerWidth(),i.outerHeight()],o="object"==typeof t.offset;e.offsetTop=(n.height()-a[1])/2,e.offsetLeft=(n.width()-a[0])/2,o?(e.offsetTop=t.offset[0],e.offsetLeft=t.offset[1]||e.offsetLeft):"auto"!==t.offset&&("t"===t.offset?e.offsetTop=0:"r"===t.offset?e.offsetLeft=n.width()-a[0]:"b"===t.offset?e.offsetTop=n.height()-a[1]:"l"===t.offset?e.offsetLeft=0:"lt"===t.offset?(e.offsetTop=0,e.offsetLeft=0):"lb"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=0):"rt"===t.offset?(e.offsetTop=0,e.offsetLeft=n.width()-a[0]):"rb"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=n.width()-a[0]):e.offsetTop=t.offset),t.fixed||(e.offsetTop=/%$/.test(e.offsetTop)?n.height()*parseFloat(e.offsetTop)/100:parseFloat(e.offsetTop),e.offsetLeft=/%$/.test(e.offsetLeft)?n.width()*parseFloat(e.offsetLeft)/100:parseFloat(e.offsetLeft),e.offsetTop+=n.scrollTop(),e.offsetLeft+=n.scrollLeft()),i.attr("minLeft")&&(e.offsetTop=n.height()-(i.find(l[1]).outerHeight()||0),e.offsetLeft=i.css("left")),i.css({top:e.offsetTop,left:e.offsetLeft})},s.pt.tips=function(){var e=this,t=e.config,a=e.layero,o=[a.outerWidth(),a.outerHeight()],r=i(t.follow);r[0]||(r=i("body"));var s={width:r.outerWidth(),height:r.outerHeight(),top:r.offset().top,left:r.offset().left},f=a.find(".layui-layer-TipsG"),c=t.tips[0];t.tips[1]||f.remove(),s.autoLeft=function(){s.left+o[0]-n.width()>0?(s.tipLeft=s.left+s.width-o[0],f.css({right:12,left:"auto"})):s.tipLeft=s.left},s.where=[function(){s.autoLeft(),s.tipTop=s.top-o[1]-10,f.removeClass("layui-layer-TipsB").addClass("layui-layer-TipsT").css("border-right-color",t.tips[1])},function(){s.tipLeft=s.left+s.width+10,s.tipTop=s.top,f.removeClass("layui-layer-TipsL").addClass("layui-layer-TipsR").css("border-bottom-color",t.tips[1])},function(){s.autoLeft(),s.tipTop=s.top+s.height+10,f.removeClass("layui-layer-TipsT").addClass("layui-layer-TipsB").css("border-right-color",t.tips[1])},function(){s.tipLeft=s.left-o[0]-10,s.tipTop=s.top,f.removeClass("layui-layer-TipsR").addClass("layui-layer-TipsL").css("border-bottom-color",t.tips[1])}],s.where[c-1](),1===c?s.top-(n.scrollTop()+o[1]+16)<0&&s.where[2]():2===c?n.width()-(s.left+s.width+o[0]+16)>0||s.where[3]():3===c?s.top-n.scrollTop()+s.height+o[1]+16-n.height()>0&&s.where[0]():4===c&&o[0]+16-s.left>0&&s.where[1](),a.find("."+l[5]).css({"background-color":t.tips[1],"padding-right":t.closeBtn?"30px":""}),a.css({left:s.tipLeft-(t.fixed?n.scrollLeft():0),top:s.tipTop-(t.fixed?n.scrollTop():0)})},s.pt.move=function(){var e=this,t=e.config,a=i(document),s=e.layero,l=s.find(t.move),f=s.find(".layui-layer-resize"),c={};return t.move&&l.css("cursor","move"),l.on("mousedown",function(e){e.preventDefault(),t.move&&(c.moveStart=!0,c.offset=[e.clientX-parseFloat(s.css("left")),e.clientY-parseFloat(s.css("top"))],o.moveElem.css("cursor","move").show())}),f.on("mousedown",function(e){e.preventDefault(),c.resizeStart=!0,c.offset=[e.clientX,e.clientY],c.area=[s.outerWidth(),s.outerHeight()],o.moveElem.css("cursor","se-resize").show()}),a.on("mousemove",function(i){if(c.moveStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1],l="fixed"===s.css("position");if(i.preventDefault(),c.stX=l?0:n.scrollLeft(),c.stY=l?0:n.scrollTop(),!t.moveOut){var f=n.width()-s.outerWidth()+c.stX,u=n.height()-s.outerHeight()+c.stY;af&&(a=f),ou&&(o=u)}s.css({left:a,top:o})}if(t.resize&&c.resizeStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1];i.preventDefault(),r.style(e.index,{width:c.area[0]+a,height:c.area[1]+o}),c.isResize=!0,t.resizing&&t.resizing(s)}}).on("mouseup",function(e){c.moveStart&&(delete c.moveStart,o.moveElem.hide(),t.moveEnd&&t.moveEnd(s)),c.resizeStart&&(delete c.resizeStart,o.moveElem.hide())}),e},s.pt.callback=function(){function e(){var e=a.cancel&&a.cancel(t.index,n);e===!1||r.close(t.index)}var t=this,n=t.layero,a=t.config;t.openLayer(),a.success&&(2==a.type?n.find("iframe").on("load",function(){a.success(n,t.index)}):a.success(n,t.index)),6==r.ie&&t.IE6(n),n.find("."+l[6]).children("a").on("click",function(){var e=i(this).index();if(0===e)a.yes?a.yes(t.index,n):a.btn1?a.btn1(t.index,n):r.close(t.index);else{var o=a["btn"+(e+1)]&&a["btn"+(e+1)](t.index,n);o===!1||r.close(t.index)}}),n.find("."+l[7]).on("click",e),a.shadeClose&&i("#layui-layer-shade"+t.index).on("click",function(){r.close(t.index)}),n.find(".layui-layer-min").on("click",function(){var e=a.min&&a.min(n);e===!1||r.min(t.index,a)}),n.find(".layui-layer-max").on("click",function(){i(this).hasClass("layui-layer-maxmin")?(r.restore(t.index),a.restore&&a.restore(n)):(r.full(t.index,a),setTimeout(function(){a.full&&a.full(n)},100))}),a.end&&(o.end[t.index]=a.end)},o.reselect=function(){i.each(i("select"),function(e,t){var n=i(this);n.parents("."+l[0])[0]||1==n.attr("layer")&&i("."+l[0]).length<1&&n.removeAttr("layer").show(),n=null})},s.pt.IE6=function(e){i("select").each(function(e,t){var n=i(this);n.parents("."+l[0])[0]||"none"===n.css("display")||n.attr({layer:"1"}).hide(),n=null})},s.pt.openLayer=function(){var e=this;r.zIndex=e.config.zIndex,r.setTop=function(e){var t=function(){r.zIndex++,e.css("z-index",r.zIndex+1)};return r.zIndex=parseInt(e[0].style.zIndex),e.on("mousedown",t),r.zIndex}},o.record=function(e){var t=[e.width(),e.height(),e.position().top,e.position().left+parseFloat(e.css("margin-left"))];e.find(".layui-layer-max").addClass("layui-layer-maxmin"),e.attr({area:t})},o.rescollbar=function(e){l.html.attr("layer-full")==e&&(l.html[0].style.removeProperty?l.html[0].style.removeProperty("overflow"):l.html[0].style.removeAttribute("overflow"),l.html.removeAttr("layer-full"))},e.layer=r,r.getChildFrame=function(e,t){return t=t||i("."+l[4]).attr("times"),i("#"+l[0]+t).find("iframe").contents().find(e)},r.getFrameIndex=function(e){return i("#"+e).parents("."+l[4]).attr("times")},r.iframeAuto=function(e){if(e){var t=r.getChildFrame("html",e).outerHeight(),n=i("#"+l[0]+e),a=n.find(l[1]).outerHeight()||0,o=n.find("."+l[6]).outerHeight()||0;n.css({height:t+a+o}),n.find("iframe").css({height:t})}},r.iframeSrc=function(e,t){i("#"+l[0]+e).find("iframe").attr("src",t)},r.style=function(e,t,n){var a=i("#"+l[0]+e),r=a.find(".layui-layer-content"),s=a.attr("type"),f=a.find(l[1]).outerHeight()||0,c=a.find("."+l[6]).outerHeight()||0;a.attr("minLeft");s!==o.type[3]&&s!==o.type[4]&&(n||(parseFloat(t.width)<=260&&(t.width=260),parseFloat(t.height)-f-c<=64&&(t.height=64+f+c)),a.css(t),c=a.find("."+l[6]).outerHeight(),s===o.type[2]?a.find("iframe").css({height:parseFloat(t.height)-f-c}):r.css({height:parseFloat(t.height)-f-c-parseFloat(r.css("padding-top"))-parseFloat(r.css("padding-bottom"))}))},r.min=function(e,t){var a=i("#"+l[0]+e),s=a.find(l[1]).outerHeight()||0,f=a.attr("minLeft")||181*o.minIndex+"px",c=a.css("position");o.record(a),o.minLeft[0]&&(f=o.minLeft[0],o.minLeft.shift()),a.attr("position",c),r.style(e,{width:180,height:s,left:f,top:n.height()-s,position:"fixed",overflow:"hidden"},!0),a.find(".layui-layer-min").hide(),"page"===a.attr("type")&&a.find(l[4]).hide(),o.rescollbar(e),a.attr("minLeft")||o.minIndex++,a.attr("minLeft",f)},r.restore=function(e){var t=i("#"+l[0]+e),n=t.attr("area").split(",");t.attr("type");r.style(e,{width:parseFloat(n[0]),height:parseFloat(n[1]),top:parseFloat(n[2]),left:parseFloat(n[3]),position:t.attr("position"),overflow:"visible"},!0),t.find(".layui-layer-max").removeClass("layui-layer-maxmin"),t.find(".layui-layer-min").show(),"page"===t.attr("type")&&t.find(l[4]).show(),o.rescollbar(e)},r.full=function(e){var t,a=i("#"+l[0]+e);o.record(a),l.html.attr("layer-full")||l.html.css("overflow","hidden").attr("layer-full",e),clearTimeout(t),t=setTimeout(function(){var t="fixed"===a.css("position");r.style(e,{top:t?0:n.scrollTop(),left:t?0:n.scrollLeft(),width:n.width(),height:n.height()},!0),a.find(".layui-layer-min").hide()},100)},r.title=function(e,t){var n=i("#"+l[0]+(t||r.index)).find(l[1]);n.html(e)},r.close=function(e){var t=i("#"+l[0]+e),n=t.attr("type"),a="layer-anim-close";if(t[0]){var s="layui-layer-wrap",f=function(){if(n===o.type[1]&&"object"===t.attr("conType")){t.children(":not(."+l[5]+")").remove();for(var a=t.find("."+s),r=0;r<2;r++)a.unwrap();a.css("display",a.data("display")).removeClass(s)}else{if(n===o.type[2])try{var f=i("#"+l[4]+e)[0];f.contentWindow.document.write(""),f.contentWindow.close(),t.find("."+l[5])[0].removeChild(f)}catch(c){}t[0].innerHTML="",t.remove()}"function"==typeof o.end[e]&&o.end[e](),delete o.end[e]};t.data("isOutAnim")&&t.addClass(a),i("#layui-layer-moves, #layui-layer-shade"+e).remove(),6==r.ie&&o.reselect(),o.rescollbar(e),t.attr("minLeft")&&(o.minIndex--,o.minLeft.push(t.attr("minLeft"))),r.ie&&r.ie<10||!t.data("isOutAnim")?f():setTimeout(function(){f()},200)}},r.closeAll=function(e){i.each(i("."+l[0]),function(){var t=i(this),n=e?t.attr("type")===e:1;n&&r.close(t.attr("times")),n=null})};var f=r.cache||{},c=function(e){return f.skin?" "+f.skin+" "+f.skin+"-"+e:""};r.prompt=function(e,t){var a="";if(e=e||{},"function"==typeof e&&(t=e),e.area){var o=e.area;a='style="width: '+o[0]+"; height: "+o[1]+';"',delete e.area}var s,l=2==e.formType?'":function(){return''}(),f=e.success;return delete e.success,r.open(i.extend({type:1,btn:["确定","取消"],content:l,skin:"layui-layer-prompt"+c("prompt"),maxWidth:n.width(),success:function(e){s=e.find(".layui-layer-input"),s.focus(),"function"==typeof f&&f(e)},resize:!1,yes:function(i){var n=s.val();""===n?s.focus():n.length>(e.maxlength||500)?r.tips("最多输入"+(e.maxlength||500)+"个字数",s,{tips:1}):t&&t(n,i,s)}},e))},r.tab=function(e){e=e||{};var t=e.tab||{},n=e.success;return delete e.success,r.open(i.extend({type:1,skin:"layui-layer-tab"+c("tab"),resize:!1,title:function(){var e=t.length,i=1,n="";if(e>0)for(n=''+t[0].title+"";i"+t[i].title+"";return n}(),content:'
    '+function(){var e=t.length,i=1,n="";if(e>0)for(n='
  • '+(t[0].content||"no content")+"
  • ";i'+(t[i].content||"no content")+"";return n}()+"
",success:function(t){var a=t.find(".layui-layer-title").children(),o=t.find(".layui-layer-tabmain").children();a.on("mousedown",function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0;var n=i(this),a=n.index();n.addClass("layui-layer-tabnow").siblings().removeClass("layui-layer-tabnow"),o.eq(a).show().siblings().hide(),"function"==typeof e.change&&e.change(a)}),"function"==typeof n&&n(t)}},e))},r.photos=function(t,n,a){function o(e,t,i){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,t(n)},void(n.onerror=function(e){n.onerror=null,i(e)}))}var s={};if(t=t||{},t.photos){var l=t.photos.constructor===Object,f=l?t.photos:{},u=f.data||[],d=f.start||0;s.imgIndex=(0|d)+1,t.img=t.img||"img";var y=t.success;if(delete t.success,l){if(0===u.length)return r.msg("没有图片")}else{var p=i(t.photos),h=function(){u=[],p.find(t.img).each(function(e){var t=i(this);t.attr("layer-index",e),u.push({alt:t.attr("alt"),pid:t.attr("layer-pid"),src:t.attr("layer-src")||t.attr("src"),thumb:t.attr("src")})})};if(h(),0===u.length)return;if(n||p.on("click",t.img,function(){var e=i(this),n=e.attr("layer-index");r.photos(i.extend(t,{photos:{start:n,data:u,tab:t.tab},full:t.full}),!0),h()}),!n)return}s.imgprev=function(e){s.imgIndex--,s.imgIndex<1&&(s.imgIndex=u.length),s.tabimg(e)},s.imgnext=function(e,t){s.imgIndex++,s.imgIndex>u.length&&(s.imgIndex=1,t)||s.tabimg(e)},s.keyup=function(e){if(!s.end){var t=e.keyCode;e.preventDefault(),37===t?s.imgprev(!0):39===t?s.imgnext(!0):27===t&&r.close(s.index)}},s.tabimg=function(e){if(!(u.length<=1))return f.start=s.imgIndex-1,r.close(s.index),r.photos(t,!0,e)},s.event=function(){s.bigimg.hover(function(){s.imgsee.show()},function(){s.imgsee.hide()}),s.bigimg.find(".layui-layer-imgprev").on("click",function(e){e.preventDefault(),s.imgprev()}),s.bigimg.find(".layui-layer-imgnext").on("click",function(e){e.preventDefault(),s.imgnext()}),i(document).on("keyup",s.keyup)},s.loadi=r.load(1,{shade:!("shade"in t)&&.9,scrollbar:!1}),o(u[d].src,function(n){r.close(s.loadi),s.index=r.open(i.extend({type:1,id:"layui-layer-photos",area:function(){var a=[n.width,n.height],o=[i(e).width()-100,i(e).height()-100];if(!t.full&&(a[0]>o[0]||a[1]>o[1])){var r=[a[0]/o[0],a[1]/o[1]];r[0]>r[1]?(a[0]=a[0]/r[0],a[1]=a[1]/r[0]):r[0]'+(u[d].alt||
'+(u.length>1?'':"")+'
'+(u[d].alt||"")+""+s.imgIndex+"/"+u.length+"
",success:function(e,i){s.bigimg=e.find(".layui-layer-phimg"),s.imgsee=e.find(".layui-layer-imguide,.layui-layer-imgbar"),s.event(e),t.tab&&t.tab(u[d],e),"function"==typeof y&&y(e)},end:function(){s.end=!0,i(document).off("keyup",s.keyup)}},t))},function(){r.close(s.loadi),r.msg("当前图片地址异常
是否继续查看下一张?",{time:3e4,btn:["下一张","不看了"],yes:function(){u.length>1&&s.imgnext(!0,!0)}})})}},o.run=function(t){i=t,n=i(e),l.html=i("html"),r.open=function(e){var t=new s(e);return t.index}},e.layui&&layui.define?(r.ready(),layui.define("jquery",function(t){r.path=layui.cache.dir,o.run(layui.jquery),e.layer=r,t("layer",r)})):"function"==typeof define&&define.amd?define(["jquery"],function(){return o.run(e.jQuery),r}):function(){o.run(e.jQuery),r.ready()}()}(window); -------------------------------------------------------------------------------- /js/layer/mobile/layer.js: -------------------------------------------------------------------------------- 1 | /*! layer mobile-v2.0.0 Web弹层组件 MIT License http://layer.layui.com/mobile By 贤心 */ 2 | ;!function(e){"use strict";var t=document,n="querySelectorAll",i="getElementsByClassName",a=function(e){return t[n](e)},s={type:0,shade:!0,shadeClose:!0,fixed:!0,anim:"scale"},l={extend:function(e){var t=JSON.parse(JSON.stringify(s));for(var n in e)t[n]=e[n];return t},timer:{},end:{}};l.touch=function(e,t){e.addEventListener("click",function(e){t.call(this,e)},!1)};var r=0,o=["layui-m-layer"],c=function(e){var t=this;t.config=l.extend(e),t.view()};c.prototype.view=function(){var e=this,n=e.config,s=t.createElement("div");e.id=s.id=o[0]+r,s.setAttribute("class",o[0]+" "+o[0]+(n.type||0)),s.setAttribute("index",r);var l=function(){var e="object"==typeof n.title;return n.title?'

'+(e?n.title[0]:n.title)+"

":""}(),c=function(){"string"==typeof n.btn&&(n.btn=[n.btn]);var e,t=(n.btn||[]).length;return 0!==t&&n.btn?(e=''+n.btn[0]+"",2===t&&(e=''+n.btn[1]+""+e),'
'+e+"
"):""}();if(n.fixed||(n.top=n.hasOwnProperty("top")?n.top:100,n.style=n.style||"",n.style+=" top:"+(t.body.scrollTop+n.top)+"px"),2===n.type&&(n.content='

'+(n.content||"")+"

"),n.skin&&(n.anim="up"),"msg"===n.skin&&(n.shade=!1),s.innerHTML=(n.shade?"
':"")+'
"+l+'
'+n.content+"
"+c+"
",!n.type||2===n.type){var d=t[i](o[0]+n.type),y=d.length;y>=1&&layer.close(d[0].getAttribute("index"))}document.body.appendChild(s);var u=e.elem=a("#"+e.id)[0];n.success&&n.success(u),e.index=r++,e.action(n,u)},c.prototype.action=function(e,t){var n=this;e.time&&(l.timer[n.index]=setTimeout(function(){layer.close(n.index)},1e3*e.time));var a=function(){var t=this.getAttribute("type");0==t?(e.no&&e.no(),layer.close(n.index)):e.yes?e.yes(n.index):layer.close(n.index)};if(e.btn)for(var s=t[i]("layui-m-layerbtn")[0].children,r=s.length,o=0;odiv{line-height:22px;padding-top:7px;margin-bottom:20px;font-size:14px}.layui-m-layerbtn{display:box;display:-moz-box;display:-webkit-box;width:100%;height:50px;line-height:50px;font-size:0;border-top:1px solid #D0D0D0;background-color:#F2F2F2}.layui-m-layerbtn span{display:block;-moz-box-flex:1;box-flex:1;-webkit-box-flex:1;font-size:14px;cursor:pointer}.layui-m-layerbtn span[yes]{color:#40AFFE}.layui-m-layerbtn span[no]{border-right:1px solid #D0D0D0;border-radius:0 0 0 5px}.layui-m-layerbtn span:active{background-color:#F6F6F6}.layui-m-layerend{position:absolute;right:7px;top:10px;width:30px;height:30px;border:0;font-weight:400;background:0 0;cursor:pointer;-webkit-appearance:none;font-size:30px}.layui-m-layerend::after,.layui-m-layerend::before{position:absolute;left:5px;top:15px;content:'';width:18px;height:1px;background-color:#999;transform:rotate(45deg);-webkit-transform:rotate(45deg);border-radius:3px}.layui-m-layerend::after{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}body .layui-m-layer .layui-m-layer-footer{position:fixed;width:95%;max-width:100%;margin:0 auto;left:0;right:0;bottom:10px;background:0 0}.layui-m-layer-footer .layui-m-layercont{padding:20px;border-radius:5px 5px 0 0;background-color:rgba(255,255,255,.8)}.layui-m-layer-footer .layui-m-layerbtn{display:block;height:auto;background:0 0;border-top:none}.layui-m-layer-footer .layui-m-layerbtn span{background-color:rgba(255,255,255,.8)}.layui-m-layer-footer .layui-m-layerbtn span[no]{color:#FD482C;border-top:1px solid #c2c2c2;border-radius:0 0 5px 5px}.layui-m-layer-footer .layui-m-layerbtn span[yes]{margin-top:10px;border-radius:5px}body .layui-m-layer .layui-m-layer-msg{width:auto;max-width:90%;margin:0 auto;bottom:-150px;background-color:rgba(0,0,0,.7);color:#fff}.layui-m-layer-msg .layui-m-layercont{padding:10px 20px} -------------------------------------------------------------------------------- /js/layer/skin/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbc2005/DataView/831b39eb484c4c52cfa6428f5dc19e8e9cfe64e4/js/layer/skin/default/icon-ext.png -------------------------------------------------------------------------------- /js/layer/skin/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbc2005/DataView/831b39eb484c4c52cfa6428f5dc19e8e9cfe64e4/js/layer/skin/default/icon.png -------------------------------------------------------------------------------- /js/layer/skin/default/layer.css: -------------------------------------------------------------------------------- 1 | .layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap}*html{background-image:url(about:blank);background-attachment:fixed}html #layuicss-skinlayercss{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px")}.layui-layer{-webkit-overflow-scrolling:touch;top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;box-shadow:1px 1px 50px rgba(0,0,0,.3)}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #B2B2B2;border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-load{background:url(loading-1.gif) center center no-repeat #eee}.layui-layer-ico{background:url(icon.png) no-repeat}.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-move{display:none;position:fixed;*position:absolute;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layui-layer{border-radius:2px;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}@-webkit-keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim{-webkit-animation-name:layer-bounceIn;animation-name:layer-bounceIn}@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown}@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig}@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft}@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn}@keyframes layer-fadeIn{0%{opacity:0}100%{opacity:1}}.layer-anim-05{-webkit-animation-name:layer-fadeIn;animation-name:layer-fadeIn}@-webkit-keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layer-anim-06{-webkit-animation-name:layer-shake;animation-name:layer-shake}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.layui-layer-title{padding:0 80px 0 20px;height:42px;line-height:42px;border-bottom:1px solid #eee;font-size:14px;color:#333;overflow:hidden;background-color:#F8F8F8;border-radius:2px 2px 0 0}.layui-layer-setwin{position:absolute;right:15px;*right:0;top:15px;font-size:0;line-height:initial}.layui-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px;_overflow:hidden}.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2E2D3C;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2D93CA}.layui-layer-setwin .layui-layer-max{background-position:-32px -40px}.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px}.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px}.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px}.layui-layer-setwin .layui-layer-close1{background-position:1px -40px;cursor:pointer}.layui-layer-setwin .layui-layer-close1:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-149px -31px;*right:-18px;_display:none}.layui-layer-setwin .layui-layer-close2:hover{background-position:-180px -31px}.layui-layer-btn{text-align:right;padding:0 10px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none}.layui-layer-btn a{height:28px;line-height:28px;margin:6px 6px 0;padding:0 15px;border:1px solid #dedede;background-color:#f1f1f1;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none}.layui-layer-btn a:hover{opacity:.9;text-decoration:none}.layui-layer-btn a:active{opacity:.8}.layui-layer-btn .layui-layer-btn0{border-color:#4898d5;background-color:#2e8ded;color:#fff}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-dialog{min-width:260px}.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;line-height:24px;word-break:break-all;overflow:hidden;font-size:14px;overflow-x:hidden;overflow-y:auto}.layui-layer-dialog .layui-layer-content .layui-layer-ico{position:absolute;top:16px;left:15px;_left:-40px;width:30px;height:30px}.layui-layer-ico1{background-position:-30px 0}.layui-layer-ico2{background-position:-60px 0}.layui-layer-ico3{background-position:-90px 0}.layui-layer-ico4{background-position:-120px 0}.layui-layer-ico5{background-position:-150px 0}.layui-layer-ico6{background-position:-180px 0}.layui-layer-rim{border:6px solid #8D8D8D;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid #D3D4D3;box-shadow:none}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none}.layui-layer-hui .layui-layer-content{padding:12px 25px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;text-align:left}.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe iframe{display:block;width:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:60px;height:24px;background:url(loading-0.gif) no-repeat}.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(loading-1.gif) no-repeat}.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(loading-2.gif) no-repeat}.layui-layer-tips{background:0 0;box-shadow:none;border:none}.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:5px 10px;font-size:12px;_float:left;border-radius:2px;box-shadow:1px 1px 3px rgba(0,0,0,.2);background-color:#000;color:#fff}.layui-layer-tips .layui-layer-close{right:-2px;top:-1px}.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed;*overflow:hidden}.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#000}.layui-layer-tips i.layui-layer-TipsT{bottom:-8px}.layui-layer-tips i.layui-layer-TipsB{top:-8px}.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:1px;border-bottom-style:solid;border-bottom-color:#000}.layui-layer-tips i.layui-layer-TipsR{left:-8px}.layui-layer-tips i.layui-layer-TipsL{right:-8px}.layui-layer-lan[type=dialog]{min-width:280px}.layui-layer-lan .layui-layer-title{background:#4476A7;color:#fff;border:none}.layui-layer-lan .layui-layer-btn{padding:5px 10px 10px;text-align:right;border-top:1px solid #E9E7E7}.layui-layer-lan .layui-layer-btn a{background:#BBB5B5;border:none}.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#C9C5C5}.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none}.layui-layer-molv .layui-layer-btn a{background:#009f95}.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92B8B1}.layui-layer-iconext{background:url(icon-ext.png) no-repeat}.layui-layer-prompt .layui-layer-input{display:block;width:220px;height:30px;margin:0 auto;line-height:30px;padding:0 5px;border:1px solid #ccc;box-shadow:1px 1px 5px rgba(0,0,0,.1) inset;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px}.layui-layer-prompt .layui-layer-content{padding:20px}.layui-layer-prompt .layui-layer-btn{padding-top:0}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;border-bottom:1px solid #ccc;background-color:#eee;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;cursor:default;overflow:hidden}.layui-layer-tab .layui-layer-title span.layui-layer-tabnow{height:43px;border-left:1px solid #ccc;border-right:1px solid #ccc;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.xubox_tab_layer{display:block}.xubox_tabclose{position:absolute;right:10px;top:5px;cursor:pointer}.layui-layer-photos{-webkit-animation-duration:.8s;animation-duration:.8s}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal}@-webkit-keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-close{-webkit-animation-name:layer-bounceOut;animation-name:layer-bounceOut;-webkit-animation-duration:.2s;animation-duration:.2s}@media screen and (max-width:1100px){.layui-layer-iframe{overflow-y:auto;-webkit-overflow-scrolling:touch}} -------------------------------------------------------------------------------- /js/layer/skin/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbc2005/DataView/831b39eb484c4c52cfa6428f5dc19e8e9cfe64e4/js/layer/skin/default/loading-0.gif -------------------------------------------------------------------------------- /js/layer/skin/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbc2005/DataView/831b39eb484c4c52cfa6428f5dc19e8e9cfe64e4/js/layer/skin/default/loading-1.gif -------------------------------------------------------------------------------- /js/layer/skin/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbc2005/DataView/831b39eb484c4c52cfa6428f5dc19e8e9cfe64e4/js/layer/skin/default/loading-2.gif --------------------------------------------------------------------------------