Some more optimizations

optimization in demos; better translate3d detection (opera), some css
shorthand declarations and a faster, jQuery-free rendering test…
pull/25/head
peterd 9 years ago
parent e2b8e93994
commit b0d0881342

@ -65,7 +65,7 @@ window.myColorPicker = $('input.color').colorPicker({
<h2>API and usage</h2> <h2>API and usage</h2>
<p>Will follow... See <a href="https://github.com/PitPik/tinyColorPicker">tinyColorPicke on GitHub</a> for now.</p> <p>Will follow... See <a href="https://github.com/PitPik/tinyColorPicker">tinyColorPicke on GitHub</a> for now.</p>
<!-- <script type="text/javascript" src="jquery-1.11.2.js"></script> --> <!-- <script type="text/javascript" src="jquery-1.11.2.js"></script> -->
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script> <script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
<script type="text/javascript" src="colors.js"></script> <script type="text/javascript" src="colors.js"></script>
<script type="text/javascript" src="jqColorPicker.js"></script> <script type="text/javascript" src="jqColorPicker.js"></script>
<!-- <script type="text/javascript" src="jqColorPicker.min.js"></script> --> <!-- <script type="text/javascript" src="jqColorPicker.min.js"></script> -->
@ -160,11 +160,11 @@ window.myColorPicker = $('input.color').colorPicker({
'background:#666; border-top:1px solid #222;}', 'background:#666; border-top:1px solid #222;}',
renderCallback: function($elm, toggled) { renderCallback: function($elm, toggled) {
var colors = this.color.colors, var colors = this.color.colors.RND,
rgb = colors.RND.rgb, modes = {
hsv = colors.RND.hsv, r: colors.rgb.r, g: colors.rgb.g, b: colors.rgb.b,
modes = { r: rgb.r, g: rgb.g, b: rgb.b, h: colors.hsv.h, s: colors.hsv.s, v: colors.hsv.v
h: hsv.h, s: hsv.s, v: hsv.v }; };
$('input', '.cp-panel').each(function() { $('input', '.cp-panel').each(function() {
this.value = modes[this.className.substr(3, 1)]; this.value = modes[this.className.substr(3, 1)];
@ -180,7 +180,10 @@ window.myColorPicker = $('input.color').colorPicker({
buidCallback: function($elm) { buidCallback: function($elm) {
var colorInstance = this.color, var colorInstance = this.color,
colorPicker = this; colorPicker = this,
random = function(n) {
return Math.round(Math.random() * (n || 255));
};
$elm.append('<div class="cp-memory">' + $elm.append('<div class="cp-memory">' +
'<div></div><div></div><div></div><div></div>' + '<div></div><div></div><div></div><div></div>' +
@ -196,11 +199,9 @@ window.myColorPicker = $('input.color').colorPicker({
colorPicker.render(); colorPicker.render();
} }
}).find('.cp-memory div').each(function() { }).find('.cp-memory div').each(function() {
!this.className && $(this).css({background: 'rgb(' + !this.className && $(this).css({background:
Math.round(Math.random() * 255) + ', ' + 'rgb(' + random() + ', ' + random() + ', ' + random() + ')'
Math.round(Math.random() * 255) + ', ' + });
Math.round(Math.random() * 255) +
')'});
}); });
}, },

@ -87,7 +87,7 @@
find('.cp-alpha').toggle(!!_options.opacity). find('.cp-alpha').toggle(!!_options.opacity).
parent(). // back to $(_html) parent(). // back to $(_html)
show(0, function() { show(0, function() {
_GPU = _options.GPU && $(this).css('transform') === ''; _GPU = _options.GPU && $(this).css('perspective') === '';
_options.buidCallback.call(_colorPicker, $(this)); _options.buidCallback.call(_colorPicker, $(this));
_$xy_slider = $('.cp-xy-slider', this); _$xy_slider = $('.cp-xy-slider', this);
_$xy_cursor = $('.cp-xy-cursor', this); _$xy_cursor = $('.cp-xy-cursor', this);
@ -174,29 +174,52 @@
hueRGB.r + ',' + hueRGB.g + ',' + hueRGB.b + ')'}); hueRGB.r + ',' + hueRGB.g + ',' + hueRGB.b + ')'});
_$xy_cursor.css({ _$xy_cursor.css({
transform: t3d + '(' + s + 'px, ' + v + 'px, 0)', transform: t3d + '(' + s + 'px, ' + v + 'px, 0)',
left: !_GPU ? s : '', left: !_GPU ? s : 0,
top: !_GPU ? v : '', top: !_GPU ? v : 0,
borderColor : colors.RGBLuminance > 0.22 ? dark : light borderColor : colors.RGBLuminance > 0.22 ? dark : light
}); });
_$z_cursor.css({ _$z_cursor.css({
transform: t3d + '(0, ' + h + 'px, 0)', transform: t3d + '(0, ' + h + 'px, 0)',
top: !_GPU ? h : '', top: !_GPU ? h : 0,
borderLeftColor : HUEContrast, borderColor : 'transparent ' + HUEContrast,
borderRightColor : HUEContrast
}); });
_$alpha.css({backgroundColor: 'rgb(' + RGBInnerText + ')'}); _$alpha.css({backgroundColor: 'rgb(' + RGBInnerText + ')'});
_$alpha_cursor.css({ _$alpha_cursor.css({
transform: t3d + '(' + a + 'px, 0, 0)', transform: t3d + '(' + a + 'px, 0, 0)',
left: !_GPU ? a : '', left: !_GPU ? a : 0,
borderTopColor : alphaContrast, borderColor : alphaContrast + ' transparent'
borderBottomColor : alphaContrast
}); });
_options.doRender && _cache.$element.css({ _options.doRender && _cache.$element.css({
backgroundColor : RGBAText, backgroundColor : RGBAText,
color: colors.rgbaMixBGMixCustom.luminance > 0.22 ? dark : light color: colors.rgbaMixBGMixCustom.luminance > 0.22 ? dark : light
}); });
_cache.$element.val(text); _cache.$element.val(text);
// faster version (more than 2.5x)... though, no jQuery (colors, ...)
//
// _$xy_slider[0].style.cssText =
// 'background-color:' + 'rgb(' +
// hueRGB.r + ',' + hueRGB.g + ',' + hueRGB.b + ');';
// _$xy_cursor[0].style.cssText =
// 'transform:' + t3d + '(' + s + 'px, ' + v + 'px, 0);' +
// 'left:' + (!_GPU ? s : 0) + 'px;' +
// 'top:' + (!_GPU ? v : 0) + 'px;' +
// 'border-color:' + (colors.RGBLuminance > 0.22 ? dark : light);
// _$z_cursor[0].style.cssText =
// 'transform:' + t3d + '(0, ' + h + 'px, 0);' +
// 'top:' + (!_GPU ? h : 0) + 'px;' +
// 'border-color:' + 'transparent ' + HUEContrast;
// _$alpha[0].style.cssText = 'background-color:' + 'rgb(' + RGBInnerText + ')';
// _$alpha_cursor[0].style.cssText =
// 'transform:' + t3d + '(' + a + 'px, 0, 0);' +
// 'left:' + (!_GPU ? a : 0) + 'px;' +
// 'border-color:' + alphaContrast + ' transparent';
// _options.doRender && (_cache.$element[0].style.cssText =
// 'background-color:' + RGBAText +
// ';color:' + (colors.rgbaMixBGMixCustom.luminance > 0.22 ? dark : light));
// _cache.$element[0].value = text;
_options.renderCallback.call( _options.renderCallback.call(
_colorPicker, _cache.$element, toggled === true); _colorPicker, _cache.$element, toggled === true);
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save