简体   繁体   English

在颜色选择器中获取背景颜色

[英]Get background color in color picker

I have to design a color picker with fixed values.我必须设计一个具有固定值的颜色选择器。 As I'm a newbie to web programming I'm not sure how to proceed.由于我是网络编程的新手,所以我不确定如何进行。 The task is to get background color on selecting a palette's background and with that color, another div element's background has to change.任务是在选择调色板的背景时获取背景颜色,并且使用该颜色,另一个 div 元素的背景必须改变。

In this HTML #palette has 30 colors, color-1 to color-30 .在这个 HTML #palette中有 30 种颜色,从color-1color-30 On selecting the color from the palette the background of .color-container has to change.从调色板中选择颜色时, .color-container的背景必须改变。 Thanks in advance.提前致谢。

 <div id="palette"> <div class="row"> <div class="colors" id="color-1"></div> <div class="colors" id="color-2"></div> <div class="colors" id="color-3"></div> <div class="colors" id="color-4"></div> <div class="colors" id="color-5"></div> <div class="colors" id="color-6"></div> </div> <div class="row"> <div class="colors" id="color-7"></div> <div class="colors" id="color-8"></div> <div class="colors" id="color-9"></div> <div class="colors" id="color-10"></div> <div class="colors" id="color-11"></div> <div class="colors" id="color-12"></div> </div> <div class="row"> <div class="colors" id="color-13"></div> <div class="colors" id="color-14"></div> <div class="colors" id="color-15"></div> <div class="colors" id="color-16"></div> <div class="colors" id="color-17"></div> <div class="colors" id="color-18"></div> </div> <div class="row"> <div class="colors" id="color-19"></div> <div class="colors" id="color-20"></div> <div class="colors" id="color-21"></div> <div class="colors" id="color-22"></div> <div class="colors" id="color-23"></div> <div class="colors" id="color-24"></div> </div> <div class="row"> <div class="colors" id="color-25"></div> <div class="colors" id="color-26"></div> <div class="colors" id="color-27"></div> <div class="colors" id="color-28"></div> <div class="colors" id="color-29"></div> <div class="colors" id="color-30"></div> </div> </div> <div class="color-container"> <h1 style="color: black" id="container-text">Text</h1> </div>

You need to detect which div was clicked, all yours div elements has same colors class so that must be your selector, after that you need to extract the click div id.您需要检测点击了哪个 div,您所有的 div 元素都具有相同的颜色类,因此它必须是您的选择器,之后您需要提取点击的 div id。 You can get it doing this:你可以这样做:

$('.colors').on('click', function () {
    var colorid = this.id;    
});

After that you can play with colorid value, I don't know how you going to specify which color is id color-1, color-2, etc. So just as an example I use a switch so your code is the following.之后你可以使用 colorid 值,我不知道你将如何指定 id color-1、color-2 等颜色。所以作为一个例子,我使用了一个开关,所以你的代码如下。

 $(document).ready(function () { $('.colors').on('click', function () { var colorid = this.id; switch(colorid) { case "color-1": $('.color-container h1').css("color", "red"); break; case "color-2": $('.color-container h1').css("color", "blue"); break; case "color-3": $('.color-container h1').css("color", "yellow"); break; case "color-4": $('.color-container h1').css("color", "orange"); break; } }); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script> <div id="palette"> <div class="row"> <div class="colors" id="color-1">1</div> <div class="colors" id="color-2">2</div> <div class="colors" id="color-3">3</div> <div class="colors" id="color-4">4</div> <div class="colors" id="color-5"></div> <div class="colors" id="color-6"></div> </div> <div class="row"> <div class="colors" id="color-7"></div> <div class="colors" id="color-8"></div> <div class="colors" id="color-9"></div> <div class="colors" id="color-10"></div> <div class="colors" id="color-11"></div> <div class="colors" id="color-12"></div> </div> <div class="row"> <div class="colors" id="color-13"></div> <div class="colors" id="color-14"></div> <div class="colors" id="color-15"></div> <div class="colors" id="color-16"></div> <div class="colors" id="color-17"></div> <div class="colors" id="color-18"></div> </div> <div class="row"> <div class="colors" id="color-19"></div> <div class="colors" id="color-20"></div> <div class="colors" id="color-21"></div> <div class="colors" id="color-22"></div> <div class="colors" id="color-23"></div> <div class="colors" id="color-24"></div> </div> <div class="row"> <div class="colors" id="color-25"></div> <div class="colors" id="color-26"></div> <div class="colors" id="color-27"></div> <div class="colors" id="color-28"></div> <div class="colors" id="color-29"></div> <div class="colors" id="color-30"></div> </div> </div> <div class="color-container"> <h1 style="color: black" id="container-text">Text</h1> </div>

This should solve your problem.这应该可以解决您的问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM