- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Color Picker Fiddle - http://jsbin.com/panajiforuza/1/edit
Fiddle(试图变成一个插件)- http://jsbin.com/reyewefovepe/1/edit
我制作了一个基本的 HSLA 拾色器,我正在尝试将其转换为一个插件。
注意:我之前只做过简单/基本的插件,几乎没有功能。这是我的第一个可用插件,或者至少这是我的目标。
我想在它选择的任何输入 [type=text] 上使用它,并保留它以前的值(为每个新输入附加一个颜色选择器,并让插件为它完成颜色选择器的所有工作选择器)
我的问题是,当我调整 slider 时,我将其设置为 $(this)
(定义用户选择器)。但是它的值没有改变,我不明白为什么。
(function($) {
$.fn.HSLAColorPicker = function() {
$(".hsla-cpick-container").remove();
$("body").append('<div class="hsla-cpick-container"> <table class="cpick keepcpickabove"> <tr> <td><div class="colorwheel keepcpickabove"><input class="colorpick-hue keepcpickabove" value="328" min="0" max="360" type="range"></div></td> </tr> <tr> <td><div class="colorpick-s-bg keepcpickabove"><input class="colorpick-s keepcpickabove" min="0" max="100" value="100" type="range"></div></td> </tr> <tr> <td><div class="colorpick-l-bg keepcpickabove"><input class="colorpick-l keepcpickabove" min="0" max="100" value="44" type="range"></div></td> </tr> <tr> <td><div class="colorpick-a-bg keepcpickabove"><input class="colorpick-a keepcpickabove" step=".01" min="0" max="1" value="1" type="range"></div></td> </tr> </table> </div>');
var FontColorPick = function() {
if ( $(".colorpick-a-text").val() === "1" ) {
$(this).val( "hsl(" + $(".colorpick-hue").val() + ", " + $(".colorpick-s").val() + "%, " + $(".colorpick-l").val() + "%)");
} else {
$(this).val( "hsla(" + $(".colorpick-hue").val() + ", " + $(".colorpick-s").val() + "%, " + $(".colorpick-l").val() + "%, " + $(".colorpick-a").val() + ")");
}
if ( $(".colorpick-a-text").val() === "0" ) {
$(this).val("transparent");
}
// Alpha Saturation
$(".colorpick-s-bg").css({
"background": "linear-gradient(to right, #7f7f80 0%," + "hsl(" + $(".colorpick-hue").val() + "," + $(".colorpick-s").val() + "%," + $(".colorpick-l").val() + "%)" + " 100%)"
});
// Alpha Lightness
$(".colorpick-l-bg").css({
"background": "linear-gradient(to right, #000000 0%," + "hsl(" + $(".colorpick-hue").val() + "," + $(".colorpick-s").val() + "%,50%) 50%,#ffffff 100%)"
});
// Alpha Preview
$(".colorpick-a-bg").css({
"background": "linear-gradient(to right, rgba(255,255,255,0) 0%," + "hsl(" + $(".colorpick-hue").val() + "," + $(".colorpick-s").val() + "%," + $(".colorpick-l").val() + "%)" + " 100%)"
});
};
$(this).on('mousedown touchstart focus', function(e) {
$(".hsla-cpick-container").show().css({
'position': 'absolute',
'margin-top': "-" + $(this).offset().top,
'left': $(this).offset().left,
'width': $(this).width()
});
FontColorPick();
});
$(document).on('mousedown touchstart', function(e) {
if ($(".hsla-cpick-container").is(":visible")) {
if (!$(e.target).hasClass('keepcpickabove')) {
$(".hsla-cpick-container").hide();
}
}
});
// Setup Hue
$(".colorpick-hue").on('change', function() {
FontColorPick();
});
// Setup Saturation
$(".colorpick-s").on('change', function() {
FontColorPick();
});
// Setup Lightness
$(".colorpick-l").on('change', function() {
FontColorPick();
});
// Setup Alpha
$(".colorpick-a").on('change', function() {
FontColorPick();
});
FontColorPick();
};
}) (jQuery) ;
最佳答案
注意,将选择器、对象等缓存到变量可能有助于在 piece 中收集 $(this)
的值,如果/何时使用。立即呈现输入 value
而不是 placeholder
;输入元素立即获得 焦点
。
尝试
html
<div align="center">
<label>bgcolor: </label><input class="bgcolor" placeholder="bgcolor" type="text" />
<label>bgfontcolor: </label><input class="bgfontcolor" placeholder="bgfontcolor" type="text" />
</div>
js
(function($) {
$.fn.HSLAColorPicker = function() {
// added `that` = `$(this)`
that = $(this);
$(".hsla-cpick-container").remove();
$("body").append('<div class="hsla-cpick-container"> <table class="cpick keepcpickabove"> <tr> <td><div class="colorwheel keepcpickabove"><input class="colorpick-hue keepcpickabove" value="328" min="0" max="360" type="range"></div></td> </tr> <tr> <td><div class="colorpick-s-bg keepcpickabove"><input class="colorpick-s keepcpickabove" min="0" max="100" value="100" type="range"></div></td> </tr> <tr> <td><div class="colorpick-l-bg keepcpickabove"><input class="colorpick-l keepcpickabove" min="0" max="100" value="44" type="range"></div></td> </tr> <tr> <td><div class="colorpick-a-bg keepcpickabove"><input class="colorpick-a keepcpickabove" step=".01" min="0" max="1" value="1" type="range"></div></td> </tr> </table> </div>');
var FontColorPick = function() {
if ( $(".colorpick-a-text").val() === "1" ) {
// substituted `that` for `$(this)`
that.val( "hsl(" + $(".colorpick-hue").val() + ", " + $(".colorpick-s").val() + "%, " + $(".colorpick-l").val() + "%)");
} else {
// substituted `that` for `$(this)`
that.val( "hsla(" + $(".colorpick-hue").val() + ", " + $(".colorpick-s").val() + "%, " + $(".colorpick-l").val() + "%, " + $(".colorpick-a").val() + ")");
}
if ( $(".colorpick-a-text").val() === "0" ) {
// substituted `that` for `$(this)`
that.val("transparent");
}
// Alpha Saturation
$(".colorpick-s-bg").css({
"background": "linear-gradient(to right, #7f7f80 0%," + "hsl(" + $(".colorpick-hue").val() + "," + $(".colorpick-s").val() + "%," + $(".colorpick-l").val() + "%)" + " 100%)"
});
// Alpha Lightness
$(".colorpick-l-bg").css({
"background": "linear-gradient(to right, #000000 0%," + "hsl(" + $(".colorpick-hue").val() + "," + $(".colorpick-s").val() + "%,50%) 50%,#ffffff 100%)"
});
// Alpha Preview
$(".colorpick-a-bg").css({
"background": "linear-gradient(to right, rgba(255,255,255,0) 0%," + "hsl(" + $(".colorpick-hue").val() + "," + $(".colorpick-s").val() + "%," + $(".colorpick-l").val() + "%)" + " 100%)"
});
};
that.on('mousedown touchstart focus', function(e) {
$(".hsla-cpick-container").show().css({
'position': 'absolute',
'margin-top': "-" + that.offset().top,
'left': that.offset().left,
'width': that.width()
});
FontColorPick();
});
$(document).on('mousedown touchstart', function(e) {
if ($(".hsla-cpick-container").is(":visible")) {
if (!$(e.target).hasClass('keepcpickabove')) {
$(".hsla-cpick-container").hide();
}
}
});
// Setup Hue
$(".colorpick-hue").on('change', function() {
FontColorPick();
});
// Setup Saturation
$(".colorpick-s").on('change', function() {
FontColorPick();
});
// Setup Lightness
$(".colorpick-l").on('change', function() {
FontColorPick();
});
// Setup Alpha
$(".colorpick-a").on('change', function() {
FontColorPick();
});
FontColorPick();
};
}) (jQuery) ;
$(document).ready(function() {
// combined selectors `".bgcolor, .bgfontcolor"` ,
// substituted `focus` event , `.focus()` ,
// for direct call to `.HSLAColorPicker()`
$(".bgcolor, .bgfontcolor").on("focus", function(e) {
$(this).HSLAColorPicker();
}).focus();
// $(".bgfontcolor").HSLAColorPicker();
});
关于javascript - jQuery 颜色选择器插件实验,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25497238/
我正在测试 SQL,但我陷入了一个查询。这是一个无用的查询,但我想理解它。 select count(*), floor(rand()*2) as x from table_name group by
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
在我编写代码时,我经常喜欢查看代码库中特定区域的工作原理或某些表达式产生的结果。 大多数其他语言都提供了在运行时评估新的自定义表达式的工具。 Golang 似乎还没有提供这个功能,或者至少没有我使用过
1、kvm 简介 kernel-based virtual machine的简称,是一个开源的系统虚拟化模块,自linux 2.6.20之后集成在linux的各个主要发行版本中。它使用linux
我是中继新手,我正在尝试在并发模式下使用中继现代实验。我已经能够使用 Suspense 和 ErrorBoundary 很好地加载节点、边等。我现在正在处理用于创建和更新对象的表单。 我无法弄清楚如何
我正在参加在线软件安全类(class)。我正在尝试使用 shellcode 进行实验。我编写了一个易受攻击的服务器、一个注入(inject)程序、一个(可能已损坏的)shellcode,我将其转换为程
我最糟糕的噩梦是日期对象,所以我创建了一个 fiddle 来查看它是如何工作的,并尝试为以下格式的 date strings 找到解决方案 2015-10- 05T11:49:13.587Z 但要注意
我一直在研究 Accessibility Object Model API,我认为尝试在 Puppeteer 测试中使用它会很酷。 getComputedAccessibleNode 返回一个 pro
我目前正在概述 C++11 的新特性,由于目前不明原因,其中一些特性无法编译。我使用 gcc version 4.6.0 20100703 (experimental) (GCC) 所以根据 GNU
1.动态年龄判定规则 对象进入老年代的4个常见的时机: 1、 躲过15次gc,达到15岁高龄之后进入老年代; 2、 动态年龄判定规则,如果Survivor区域内年龄1+年龄2+年龄3+年龄n的对象
有没有办法停止ray.tune实验(例如使用 PBT)当明显过度拟合或一个指标长时间没有改善时? 最佳答案 现在,这在 Tune 中得到了很好的支持,https://github.com/ray-pr
我尝试在gcc 6.0的开发中实际使用新的c++ 1z功能。 如果我尝试这个小例子: #include #include namespace fs = std::experimental::fil
我想知道为什么我在服务器端运行实验时必须包含 JavaScript cxApi。此外,我可以通过 PHP 发送选定的实验和变体吗?或者可能通过在没有外部资源(如 cxApi)的情况下注入(inject
我正在开发一个使用 Firebase iOS SDK 的 iOS 应用,我正在尝试弄清楚如何访问用户已看到的所有 Firebase AB 实验以及用户参与的实验变体。 我查看了文档以及 Firebas
我用 python 2.7.7 运行了以下命令: import gc import memory_profiler print memory_profiler.memory_usage()[0] x
我在浏览器控制台中做了一个 JavaScript 实验 - 首先我创建了一个新对象 foo 如下 var foo = { bar: function() { return this.baz
据说“4916 个正面训练示例经过手工挑选对齐、归一化并缩放到 24x24 的基本分辨率。通过从 9500 张不包含人脸的图像中随机挑选子窗口来选择 10,000 个负面示例。”在论文“Paul Vi
这个问题在这里已经有了答案: 关闭 12 年前。 Possible Duplicate: Can you write object oriented code in C? 嗨! 只是为了好玩,这两天
1. 程序的JVM参数示范 已知,平时系统运行创建的对象,除非是那种大对象,否则通常来说都是优先分配在新生代中的Eden区域的。 而且新生代还有另外两块Survivor区域,默认Eden区域占据新
在 上创建新实验DAGsHub 使用Git,".._metrics.csv"的格式应该是什么和 ".._params.yml"文件? 不幸的是,我在任何地方都找不到引用。 最佳答案 特尔;博士: 对于
我是一名优秀的程序员,十分优秀!