diff --git a/code/html/checkboxes.css b/code/html/checkboxes.css index ffe9b087..59ebbfb5 100644 --- a/code/html/checkboxes.css +++ b/code/html/checkboxes.css @@ -1,16 +1,20 @@ .iPhoneCheckContainer { - -webkit-transform:translate3d(0,0,0); - position: relative; - height: 27px; - cursor: pointer; - overflow: hidden; } - .iPhoneCheckContainer input { + -webkit-transform:translate3d(0,0,0); + position: relative; + height: 27px; + cursor: pointer; + overflow: hidden; +} + +.iPhoneCheckContainer input { position: absolute; top: 5px; left: 30px; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); - opacity: 0; } - .iPhoneCheckContainer label { + opacity: 0; +} + +.iPhoneCheckContainer label { white-space: nowrap; font-size: 17px; line-height: 17px; @@ -23,51 +27,100 @@ width: auto; top: 0; padding-top: 5px; - overflow: hidden; } - .iPhoneCheckContainer, .iPhoneCheckContainer label { + overflow: hidden; +} + +.iPhoneCheckContainer, .iPhoneCheckContainer label { user-select: none; -moz-user-select: none; - -khtml-user-select: none; } + -khtml-user-select: none; +} .iPhoneCheckDisabled { - filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50); - opacity: 0.5; } + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50); + opacity: 0.5; +} + +div.iPhoneCheckBorderOn { + position: absolute; + left: 0; + width: 4px; + height: 100%; + background-image: url('images/check.png'); + background-repeat: no-repeat; + background-position: 0px 0px; +} label.iPhoneCheckLabelOn { - color: white; - background: url('images/on.png') no-repeat; - text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.6); - left: 0; - padding-top: 5px; } - label.iPhoneCheckLabelOn span { - padding-left: 8px; } + color: white; + background-image: url('images/check.png'); + background-repeat: repeat-x; + background-position: 0px -27px; + text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.6); + left: 0; + padding-top: 5px; + margin-left: 4px; + margin-top: 0px; +} + +label.iPhoneCheckLabelOn span { + padding-left: 4px; +} + label.iPhoneCheckLabelOff { - color: #8b8b8b; - background: url('images/off.png') no-repeat right 0; - text-shadow: 0px 0px 2px rgba(255, 255, 255, 0.6); - text-align: right; - right: 0; } - label.iPhoneCheckLabelOff span { - padding-right: 8px; } + color: #8b8b8b; + background-image: url('images/check.png'); + background-repeat: repeat-x; + background-position: 0px -54px; + text-shadow: 0px 0px 2px rgba(255, 255, 255, 0.6); + text-align: right; + margin-right: 4px; + margin-top: 0px; + right: 0; +} -.iPhoneCheckHandle { - display: block; - height: 27px; - cursor: pointer; - position: absolute; - top: 0; - left: 0; - width: 0; - background: url('images/slider_left.png') no-repeat; - padding-left: 3px; } +label.iPhoneCheckLabelOff span { + padding-right: 4px; +} -.iPhoneCheckHandleRight { - height: 100%; - width: 100%; - padding-right: 3px; - background: url('images/slider_right.png') no-repeat right 0; } +div.iPhoneCheckBorderOff { + position: absolute; + width: 4px; + height: 100%; + background-image: url('images/check.png'); + background-repeat: no-repeat; + background-position: 0px -81px; +} + +.iPhoneCheckHandle { + display: block; + height: 27px; + cursor: pointer; + position: absolute; + top: 0; + left: 0; + width: 0; + background-image: url('images/check.png'); + background-repeat: no-repeat; + background-position: 0px -108px; + padding-left: 4px; +} .iPhoneCheckHandleCenter { - height: 100%; - width: 100%; - background: url('images/slider_center.png'); } + position: absolute; + width: 100%; + height: 100%; + background-image: url('images/check.png'); + background-repeat: repeat-x; + background-position: 0px -135px; +} + +.iPhoneCheckHandleRight { + position: absolute; + height: 100%; + width: 4px; + right: 0px; + background-image: url('images/check.png'); + background-repeat: no-repeat; + background-position: 0px -162px; +} diff --git a/code/html/checkboxes.js b/code/html/checkboxes.js index 67d04dae..42e1441b 100644 --- a/code/html/checkboxes.js +++ b/code/html/checkboxes.js @@ -63,8 +63,13 @@ this.offLabel = $("").appendTo(this.container); this.offSpan = this.offLabel.children('span'); this.onLabel = $("").appendTo(this.container); + this.onBorder = $("
").appendTo(this.container); + this.offBorder = $("
").appendTo(this.container); this.onSpan = this.onLabel.children('span'); - return this.handle = $("
\n
\n
\n
\n
").appendTo(this.container); + this.handle = $("
").appendTo(this.container); + this.handleCenter = $("
").appendTo(this.handle); + this.handleRight = $("
").appendTo(this.handle); + return true; }; iOSCheckbox.prototype.disableTextSelection = function() { @@ -98,8 +103,11 @@ }); } else { newWidth = onLabelWidth > offLabelWidth ? onLabelWidth : offLabelWidth; + this.handleCenter.css({ + width: newWidth + 4 + }); return this.handle.css({ - width: newWidth + width: newWidth + 7 }); } }; @@ -181,7 +189,7 @@ } else { this.container.removeClass(this.disabledClass); } - new_left = this.elem.prop('checked') ? this.rightSide : 0; + new_left = this.elem.prop('checked') ? this.rightSide + 2 : 0; this.handle.animate({ left: new_left }, this.duration); @@ -223,7 +231,10 @@ containerWidth = this._getDimension(this.container, "width"); this.offLabel.css({ - width: containerWidth - this.containerRadius + width: containerWidth - this.containerRadius - 4 + }); + this.offBorder.css({ + left: containerWidth - 4 }); offset = this.containerRadius + 1; if ($.browser.msie && $.browser.version < 7) { @@ -238,7 +249,7 @@ width: this.rightSide + this.handleRadius }); this.offSpan.css({ - marginRight: -this.rightSide + marginRight: -this.rightSide, }); } else { this.onLabel.css({ diff --git a/code/html/custom.css b/code/html/custom.css index 5b4407b2..af368faa 100644 --- a/code/html/custom.css +++ b/code/html/custom.css @@ -54,11 +54,3 @@ div.hint { color: #ccc; margin-top: -5px; } -.iPhoneCheckContainer { - margin-top: -10px; - letter-spacing: 0em; - height: 36px; -} -.iPhoneCheckHandle { - top: 9px; -} diff --git a/code/html/images/check.png b/code/html/images/check.png new file mode 100644 index 00000000..45edff57 Binary files /dev/null and b/code/html/images/check.png differ diff --git a/code/html/images/off.png b/code/html/images/off.png deleted file mode 100644 index f414051e..00000000 Binary files a/code/html/images/off.png and /dev/null differ diff --git a/code/html/images/on.png b/code/html/images/on.png deleted file mode 100644 index 94425e58..00000000 Binary files a/code/html/images/on.png and /dev/null differ diff --git a/code/html/images/slider.png b/code/html/images/slider.png deleted file mode 100644 index 80e05ff2..00000000 Binary files a/code/html/images/slider.png and /dev/null differ diff --git a/code/html/images/slider_center.png b/code/html/images/slider_center.png deleted file mode 100644 index 310fc8cc..00000000 Binary files a/code/html/images/slider_center.png and /dev/null differ diff --git a/code/html/images/slider_left.png b/code/html/images/slider_left.png deleted file mode 100644 index 51576ce3..00000000 Binary files a/code/html/images/slider_left.png and /dev/null differ diff --git a/code/html/images/slider_right.png b/code/html/images/slider_right.png deleted file mode 100644 index 447d94a6..00000000 Binary files a/code/html/images/slider_right.png and /dev/null differ