JS实现点击颜色块切换指定区域背景颜色的方法

针对“JS实现点击颜色块切换指定区域背景颜色”的情况,可以考虑以下实现方案。

针对“JS实现点击颜色块切换指定区域背景颜色”的情况,可以考虑以下实现方案。

实现思路

  1. 定义颜色块选项和给定区域(例如div);
  2. 给颜色块添加点击事件,记录点击的颜色值;
  3. 利用DOM操作,将颜色值赋予给定区域的背景色;

代码示例

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Click to change color</title>
    <style>
        .color-block{
            display: inline-block;
            width: 50px;
            height: 50px;
            margin-right: 10px;
            cursor: pointer;
        }
    </style>
</head>
<body>
    <div id="colorArea" style="height: 300px; background-color: #eee;"></div>
    <div>
        <span class="color-block" style="background-color: #F00;"></span>
        <span class="color-block" style="background-color: #0F0;"></span>
        <span class="color-block" style="background-color: #00F;"></span>
    </div>
    <script>
        var colorArea = document.getElementById("colorArea");
        var colorBlocks = document.querySelectorAll(".color-block");
        for(var i = 0; i < colorBlocks.length; i++){
            colorBlocks[i].onclick = function(){
                colorArea.style.backgroundColor = this.style.backgroundColor;
            }
        }
    </script>
</body>
</html>

以上代码示例中,我们先定义了一个颜色选择区域 #colorArea,并初始化背景颜色为灰色。接下来,我们定义了三个颜色块 color-block,分别对应红、绿、蓝三种颜色,同时为其添加了鼠标点击事件。事件执行过程中,获取点击的颜色值并将其赋值给指定区域的背景色。

另外,我们还可以通过下列示例实现根据颜色名称动态改变其对应颜色值。

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Click to change color by name</title>
    <style>
        .color-block{
            display: inline-block;
            width: 50px;
            height: 50px;
            margin-right: 10px;
            cursor: pointer;
        }
    </style>
</head>
<body>
    <div id="colorArea" style="height: 300px; background-color: #eee;"></div>
    <div>
        <span class="color-block" data-color="red" style="background-color: red;"></span>
        <span class="color-block" data-color="green" style="background-color: green;"></span>
        <span class="color-block" data-color="blue" style="background-color: blue;"></span>
    </div>
    <script>
        var colorArea = document.getElementById("colorArea");
        var colorBlocks = document.querySelectorAll(".color-block");
        for(var i = 0; i < colorBlocks.length; i++){
            colorBlocks[i].onclick = function(){
                colorArea.style.backgroundColor = this.getAttribute("data-color");
            }
        }
    </script>
</body>
</html>

这个示例中,我们使用 data-color 属性来存储对应颜色名称,点击后通过获取该属性值并进行转化成颜色值的操作来实现颜色切换。

本文标题为:JS实现点击颜色块切换指定区域背景颜色的方法

基础教程推荐