feat: integrate luckysheet inline and fullscreen

This commit is contained in:
liaibo
2025-11-23 17:22:35 +08:00
parent c8e479aeab
commit 994dd4e67c
529 changed files with 403413 additions and 201 deletions
File diff suppressed because one or more lines are too long
+564
View File
@@ -0,0 +1,564 @@
.sp-container {
position: absolute;
top: 0;
left: 0;
display: inline-block;
*display: inline;
*zoom: 1;
z-index: 9999994;
overflow: hidden
}
.sp-container.sp-flat {
position: relative
}
.sp-container,
.sp-container * {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box
}
.sp-top {
position: relative;
width: 100%;
display: inline-block
}
.sp-top-inner {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0
}
.sp-color {
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 20%
}
.sp-hue {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 84%;
height: 100%
}
.sp-clear-enabled .sp-hue {
top: 33px;
height: 77.5%
}
.sp-fill {
padding-top: 80%
}
.sp-sat,
.sp-val {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0
}
.sp-alpha-enabled .sp-top {
margin-bottom: 18px
}
.sp-alpha-enabled .sp-alpha {
display: block
}
.sp-alpha-handle {
position: absolute;
top: -4px;
bottom: -4px;
width: 6px;
left: 50%;
cursor: pointer;
border: 1px solid black;
background: white;
opacity: .8
}
.sp-alpha {
display: none;
position: absolute;
bottom: -14px;
right: 0;
left: 0;
height: 8px
}
.sp-alpha-inner {
border: solid 1px #333
}
.sp-clear {
display: none
}
.sp-clear.sp-clear-display {
background-position: center
}
.sp-clear-enabled .sp-clear {
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 84%;
height: 28px
}
.sp-container,
.sp-replacer,
.sp-preview,
.sp-dragger,
.sp-slider,
.sp-alpha,
.sp-clear,
.sp-alpha-handle,
.sp-container.sp-dragging .sp-input,
.sp-container button {
-webkit-user-select: none;
-moz-user-select: -moz-none;
-o-user-select: none;
user-select: none
}
.sp-container.sp-input-disabled .sp-input-container {
display: none
}
.sp-container.sp-buttons-disabled .sp-button-container {
display: none
}
.sp-container.sp-palette-buttons-disabled .sp-palette-button-container {
display: none
}
.sp-palette-only .sp-picker-container {
display: none
}
.sp-palette-disabled .sp-palette-container {
display: none
}
.sp-initial-disabled .sp-initial {
display: none
}
.sp-sat {
background-image: -webkit-gradient(linear, 0 0, 100% 0, from(#FFF), to(rgba(204, 154, 129, 0)));
background-image: -webkit-linear-gradient(left, #FFF, rgba(204, 154, 129, 0));
background-image: -moz-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
background-image: -o-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
background-image: -ms-linear-gradient(left, #fff, rgba(204, 154, 129, 0));
background-image: linear-gradient(to right, #fff, rgba(204, 154, 129, 0));
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)";
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#FFFFFFFF', endColorstr='#00CC9A81')
}
.sp-val {
background-image: -webkit-gradient(linear, 0 100%, 0 0, from(#000), to(rgba(204, 154, 129, 0)));
background-image: -webkit-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
background-image: -moz-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
background-image: -o-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
background-image: -ms-linear-gradient(bottom, #000, rgba(204, 154, 129, 0));
background-image: linear-gradient(to top, #000, rgba(204, 154, 129, 0));
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)";
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00CC9A81', endColorstr='#FF000000')
}
.sp-hue {
background: -moz-linear-gradient(top, #f00 0, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);
background: -ms-linear-gradient(top, #f00 0, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);
background: -o-linear-gradient(top, #f00 0, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);
background: -webkit-gradient(linear, left top, left bottom, from(#f00), color-stop(0.17, #ff0), color-stop(0.33, #0f0), color-stop(0.5, #0ff), color-stop(0.67, #00f), color-stop(0.83, #f0f), to(#f00));
background: -webkit-linear-gradient(top, #f00 0, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);
background: linear-gradient(to bottom, #f00 0, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%)
}
.sp-1 {
height: 17%;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ffff00')
}
.sp-2 {
height: 16%;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff00', endColorstr='#00ff00')
}
.sp-3 {
height: 17%;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ff00', endColorstr='#00ffff')
}
.sp-4 {
height: 17%;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffff', endColorstr='#0000ff')
}
.sp-5 {
height: 16%;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0000ff', endColorstr='#ff00ff')
}
.sp-6 {
height: 17%;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ff', endColorstr='#ff0000')
}
.sp-hidden {
display: none !important
}
.sp-cf:before,
.sp-cf:after {
content: "";
display: table
}
.sp-cf:after {
clear: both
}
.sp-cf {
*zoom: 1
}
@media(max-device-width:480px) {
.sp-color {
right: 40%
}
.sp-hue {
left: 63%
}
.sp-fill {
padding-top: 60%
}
}
.sp-dragger {
border-radius: 5px;
height: 5px;
width: 5px;
border: 1px solid #fff;
background: #000;
cursor: pointer;
position: absolute;
top: 0;
left: 0
}
.sp-slider {
position: absolute;
top: 0;
cursor: pointer;
height: 3px;
left: -1px;
right: -1px;
border: 1px solid #000;
background: white;
opacity: .8
}
.sp-container {
border-radius: 0;
background-color: #ececec;
border: solid 1px #f0c49b;
padding: 0
}
.sp-container,
.sp-container button,
.sp-container input,
.sp-color,
.sp-hue,
.sp-clear {
font: normal 12px "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box
}
.sp-top {
margin-bottom: 3px
}
.sp-color,
.sp-hue,
.sp-clear {
border: solid 1px #666
}
.sp-input-container {
float: right;
width: 100px;
margin-bottom: 4px
}
.sp-initial-disabled .sp-input-container {
width: 100%
}
.sp-input {
font-size: 12px !important;
border: 1px inset;
padding: 4px 5px;
margin: 0;
width: 100%;
background: transparent;
border-radius: 3px;
color: #222
}
.sp-input:focus {
border: 1px solid orange
}
.sp-input.sp-validation-error {
border: 1px solid red;
background: #fdd
}
.sp-picker-container,
.sp-palette-container {
float: left;
position: relative;
padding: 10px;
padding-bottom: 300px;
margin-bottom: -290px
}
.sp-picker-container {
width: 172px;
border-left: solid 1px #fff
}
.sp-palette-container {
border-right: solid 1px #ccc
}
.sp-palette-only .sp-palette-container {
border: 0
}
.sp-palette .sp-thumb-el {
display: block;
position: relative;
float: left;
width: 24px;
height: 15px;
margin: 3px;
cursor: pointer;
border: solid 2px transparent
}
.sp-palette .sp-thumb-el:hover,
.sp-palette .sp-thumb-el.sp-thumb-active {
border-color: orange
}
.sp-thumb-el {
position: relative
}
.sp-initial {
float: left;
border: solid 1px #333
}
.sp-initial span {
width: 30px;
height: 25px;
border: 0;
display: block;
float: left;
margin: 0
}
.sp-initial .sp-clear-display {
background-position: center
}
.sp-palette-button-container,
.sp-button-container {
float: right
}
.sp-replacer {
margin: 0;
overflow: hidden;
cursor: pointer;
padding: 4px;
display: inline-block;
*zoom: 1;
*display: inline;
border: solid 1px #91765d;
background: #eee;
color: #333;
vertical-align: middle
}
.sp-replacer:hover,
.sp-replacer.sp-active {
border-color: #f0c49b;
color: #111
}
.sp-replacer.sp-disabled {
cursor: default;
border-color: silver;
color: silver
}
.sp-dd {
padding: 2px 0;
height: 16px;
line-height: 16px;
float: left;
font-size: 10px
}
.sp-preview {
position: relative;
width: 25px;
height: 20px;
border: solid 1px #222;
margin-right: 5px;
float: left;
z-index: 0
}
.sp-palette {
*width: 220px;
max-width: 220px
}
.sp-palette .sp-thumb-el {
width: 16px;
height: 16px;
border-radius: 16px;
margin: 2px 1px;
border: solid 1px #d0d0d0
}
.sp-container {
padding-bottom: 0
}
.sp-container button {
background-color: #eee;
background-image: -webkit-linear-gradient(top, #eee, #ccc);
background-image: -moz-linear-gradient(top, #eee, #ccc);
background-image: -ms-linear-gradient(top, #eee, #ccc);
background-image: -o-linear-gradient(top, #eee, #ccc);
background-image: linear-gradient(to bottom, #eee, #ccc);
border: 1px solid #ccc;
border-bottom: 1px solid #bbb;
border-radius: 3px;
color: #333;
font-size: 14px;
line-height: 1;
padding: 5px 4px;
text-align: center;
text-shadow: 0 1px 0 #eee;
vertical-align: middle
}
.sp-container button:hover {
background-color: #ddd;
background-image: -webkit-linear-gradient(top, #ddd, #bbb);
background-image: -moz-linear-gradient(top, #ddd, #bbb);
background-image: -ms-linear-gradient(top, #ddd, #bbb);
background-image: -o-linear-gradient(top, #ddd, #bbb);
background-image: linear-gradient(to bottom, #ddd, #bbb);
border: 1px solid #bbb;
border-bottom: 1px solid #999;
cursor: pointer;
text-shadow: 0 1px 0 #ddd
}
.sp-container button:active {
border: 1px solid #aaa;
border-bottom: 1px solid #888;
-webkit-box-shadow: inset 0 0 5px 2px #aaa, 0 1px 0 0 #eee;
-moz-box-shadow: inset 0 0 5px 2px #aaa, 0 1px 0 0 #eee;
-ms-box-shadow: inset 0 0 5px 2px #aaa, 0 1px 0 0 #eee;
-o-box-shadow: inset 0 0 5px 2px #aaa, 0 1px 0 0 #eee;
box-shadow: inset 0 0 5px 2px #aaa, 0 1px 0 0 #eee
}
.sp-cancel {
font-size: 11px;
color: #d93f3f !important;
margin: 0;
padding: 2px;
margin-right: 5px;
vertical-align: middle;
text-decoration: none
}
.sp-cancel:hover {
color: #d93f3f !important;
text-decoration: underline
}
.sp-palette span:hover,
.sp-palette span.sp-thumb-active {
border-color: #000
}
.sp-preview,
.sp-alpha,
.sp-thumb-el {
position: relative;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)
}
.sp-preview-inner,
.sp-alpha-inner,
.sp-thumb-inner {
display: block;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0
}
.sp-palette .sp-thumb-inner {
background-position: 50% 50%;
background-repeat: no-repeat;
border-radius: 16px;
}
.sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=)
}
.sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=)
}
.sp-clear-display {
background-repeat: no-repeat;
background-position: center;
background-image: url(data:image/gif;base64,R0lGODlhFAAUAPcAAAAAAJmZmZ2dnZ6enqKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq/Hx8fLy8vT09PX19ff39/j4+Pn5+fr6+vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAUABQAAAihAP9FoPCvoMGDBy08+EdhQAIJCCMybCDAAYUEARBAlFiQQoMABQhKUJBxY0SPICEYHBnggEmDKAuoPMjS5cGYMxHW3IiT478JJA8M/CjTZ0GgLRekNGpwAsYABHIypcAgQMsITDtWJYBR6NSqMico9cqR6tKfY7GeBCuVwlipDNmefAtTrkSzB1RaIAoXodsABiZAEFB06gIBWC1mLVgBa0AAOw==)
}
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,128 @@
.spage-total {
display: inline-block;
margin-right: 10px;
line-height: 29px;
color: #666;
font-size: 14px
}
.spage-number {
display: inline-block;
color: #666;
font-size: 14px
}
.selectNum {
font-size: 14px;
height: 27px;
box-sizing: border-box;
vertical-align: top;
line-height: 27px;
border: 1px solid #ddd;
margin-left: 5px;
vertical-align: middle;
}
.spage-number button {
position: relative;
box-sizing: border-box;
display: inline-block;
margin-left: -1px;
padding: 0 10px;
line-height: 27px;
border: 1px solid #ddd;
text-align: center;
transition: all .2s;
cursor: pointer;
outline: none;
background: 0 0;
user-select: none;
color: #333;
background: #fff;
vertical-align: middle;
}
.prevBtn, .nextBtn {
width: 16px;
height: 27px;
background: url(images/js.png) no-repeat center center;
background-size: 100% auto;
display: block;
transform: rotate(180deg);
}
.nextBtn {
transform: rotate(0);
}
.spage-number button.active {
background: #2d98e6;
color: #fff;
border-color: #2d98e6;
z-index: 3
}
.spage-number button.active:hover {
background: #2d98e6;
color: #fff;
border-color: #2d98e6;
z-index: 3
}
.spage-number button:hover {
background-color: #eee
}
.spage-number button.button-disabled {
cursor: not-allowed;
color: #ccc
}
.spage-number .spage-after,
.spage-before {
padding: 0;
width: 40px
}
.spage-skip {
display: inline-block;
margin-left: 5px;
line-height: 27px;
color: #666;
font-size: 14px
}
.spage-skip input {
box-sizing: border-box;
display: inline-block;
width: 45px;
height: 29px;
text-align: center;
vertical-align: top;
border: 1px solid #ddd;
background: 0 0;
outline: none;
transition: all .2s
}
.spage-skip input:focus {
border-color: #2d98e6
}
.spage-skip button {
display: inline-block;
padding: 0 14px;
line-height: 27px;
vertical-align: top;
color: #333;
border: 1px solid #ddd;
cursor: pointer;
transition: all .2s;
outline: none;
background: 0 0;
user-select: none;
background-color: #fff;
}
.spage-skip button:hover {
background: #2d98e6;
color: #fff;
border: 1px solid #2d98e6
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,8 @@
/*!
* jQuery Mousewheel 3.1.13
*
* Copyright 2015 jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*/
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})});
+202
View File
@@ -0,0 +1,202 @@
/* jQuery分页插件sPage version:1.2.2 github:https://github.com/jvbei/sPage */
(function (p, t, e, a) {
"use strict";
var s = {
page: 1,
pageSize: 200,
total: 0,
showTotal: false,
totalTxt: '',
noData: false,
showSkip: false,
showPN: true,
prevPage: "上一页",
nextPage: "下一页",
fastForward: 0,
selectOption: [],
backFun: function (t) {}
};
var img = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABAUlEQVQ4T5WTsUrEQBCG//FYxC7BlxDfZ9t0O8EivY0YBEGbqwTJbBauUA8tfIqzsBH18BXyDKkSiUQIRza32XJ2/2+/2WUIIytJkmOl1Ilz7m1sf1gj3wFmPgOwFZHNFMQL6ELMfA5gMwWZBHQQY8wtEb2KyPuYyV5AD1kS0fMYJAgAgIwxd0TkROQj6BF3dfM8P6iq6h5AMYSEGvzxtNaLOI5d0zTLsiy/u9osADMrACsANyKynQXowm3bPgG4ttZ+/rcYZOALBxlkWXZY1/XD7s1BBn34BcDlUDvoG/vwGsCVL+xtQWt9FEXRI4ALa+3P7GFK0/QUgCqK4mvfOP8CEjZjEfl6lvkAAAAASUVORK5CYII='
function i(t, e) {
this.element = p(t);
this.settings = p.extend({}, s, e);
this.pageNum = 1, this.pageList = [], this.pageTatol = 0;
this.init()
}
p.extend(i.prototype, {
init: function () {
this.element.empty();
this.viewHtml()
this.clickBtn()
},
creatHtml: function (t) {
t == this.settings.page ? this.pageList.push('<button class="active" data-page=' + t + ">" + t + "</button>") : this.pageList.push("<button data-page=" + t + ">" + t + "</button>")
},
viewHtml: function () {
var t = this.settings;
var e = 0;
var a = [];
if (t.total > 0) {
e = Math.ceil(t.total / t.pageSize)
} else {
if (t.noData) {
e = 1;
t.page = 1;
t.total = 0
} else {
return
}
}
this.pageTatol = e;
this.pageNum = t.page;
if (t.showTotal) {
a.push('<div class="spage-total">' + t.totalTxt + "</div>")
}
a.push('<div class="spage-number">');
this.pageList = [];
if (t.showPN) {
t.page == 1 ? this.pageList.push('<button class="button-disabled" data-page="prev"><i class="prevBtn"></i></button>') : this.pageList.push('<button data-page="prev"><i class="prevBtn"></i></button>')
}
if (e <= 6) {
for (var s = 1; s < e + 1; s++) {
this.creatHtml(s)
}
} else {
if (t.page < 3) {
for (var s = 1; s <= 3; s++) {
this.creatHtml(s)
}
this.pageList.push('<button data-page="after" class="spage-after">...</button><button data-page=' + e + ">" + e + "</button>")
} else if (t.page > e - 3) {
this.pageList.push('<button data-page="1">1</button><button data-page="before" class="spage-before">...</button>');
for (var s = e - 3; s <= e; s++) {
this.creatHtml(s)
}
} else {
this.pageList.push('<button data-page="1">1</button>');
if (t.page > 3) { this.pageList.push('<button data-page="before" class="spage-before">...</button>') }
for (var s = t.page - 1; s <= Number(t.page) + 1; s++) {
this.creatHtml(s)
}
if (t.page <= e - 3) { this.pageList.push('<button data-page="after" class="spage-after">...</button>') }
this.pageList.push('<button data-page=' + e + ">" + e + "</button>")
}
}
if (t.showPN) {
t.page == e ? this.pageList.push('<button class="button-disabled" data-page="next"><i class="nextBtn"></i></button>') : this.pageList.push('<button data-page="next"><i class="nextBtn"></i></button>')
}
a.push(this.pageList.join(""));
a.push("</div>");
if (t.selectOption.length > 0) {
var str = '<select class="selectNum" id="selectNum">'
for (var i = 0; i <= t.selectOption.length - 1; i++) {
str += '<option value=' + t.selectOption[i] + ' '
if (t.pageSize === t.selectOption[i]) {
str += 'selected' + '>' + t.selectOption[i] + '行/页</option>'
} else {
str += '>' + t.selectOption[i] + '行/页</option>'
}
}
str += '</select>'
a.push(str);
}
if (t.showSkip) {
a.push('<div class="spage-skip">跳至&nbsp;<input type="text" class="luckysheet-mousedown-cancel" value="' + t.page + '"/>&nbsp;页&nbsp;&nbsp;</div>')
}
this.element.html(a.join(""));
},
clickBtn: function () {
var a = this;
var s = this.settings;
var i = this.element;
var n = this.pageTatol;
this.element.on('change', 'select', function (e) {
var value = parseInt(document.getElementById('selectNum').value)
s.pageSize = value
s.page = 1
a.element.empty();
a.viewHtml()
s.backFun(s)
})
this.element.off("click", "button");
this.element.on("click", "button", function () {
var t = p(this).data("page");
switch (t) {
case "prev":
s.page = s.page - 1 >= 1 ? s.page - 1 : 1;
t = s.page;
break;
case "next":
s.page = Number(s.page) + 1 <= n ? Number(s.page) + 1 : n;
t = s.page;
break;
case "before":
s.page = s.page - s.fastForward >= 1 ? s.page - s.fastForward : 1;
t = s.page;
break;
case "after":
s.page = Number(s.page) + Number(s.fastForward) <= n ? Number(s.page) + Number(s.fastForward) : n;
t = s.page;
break;
case "go":
var e = parseInt(i.find("input").val());
if (/^[0-9]*$/.test(e) && e >= 1 && e <= n) {
s.page = e;
t = e
} else {
return
}
break;
default:
s.page = t
}
if (t == a.pageNum) {
return
}
a.pageNum = s.page;
a.viewHtml();
s.backFun(s)
});
this.element.off("keyup", "input");
this.element.on("keyup", "input", function (t) {
if (t.keyCode == 13) {
var e = parseInt(i.find("input").val());
if (/^[0-9]*$/.test(e) && e >= 1 && e <= n && e != a.pageNum) {
s.page = e;
a.pageNum = e;
a.viewHtml();
s.backFun(s)
} else {
return
}
}
});
if (s.fastForward > 0) {
i.find(".spage-after").hover(function () {
p(this).html("&raquo;")
}, function () {
p(this).html("...")
});
i.find(".spage-before").hover(function () {
p(this).html("&laquo;")
}, function () {
p(this).html("...")
})
}
}
});
p.fn.sPage = function (t) {
return this.each(function () {
new i(this, t)
})
}
})(jQuery, window, document);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long