代码之家  ›  专栏  ›  技术社区  ›  Viira

在颜色标签上显示所选颜色的代码

  •  1
  • Viira  · 技术社区  · 7 年前

    是否可以显示使用颜色标记选择的颜色十六进制代码。

    如果是的话,如何做到这一点。

    这是我的代码片段:

    input
    {
    padding:0;
    border:none; 
    border-color:transparent;
    height:40px; 
    width:150px;
    position:relative;
    box-shadow:none;
    }
    
    span
    {
    position:absolute;
    color:#fff;
    left:20px;
    padding-top:10px;
    text-align:center;
    }
    <input type="color" name="color" value="#0a7ea4">
    <span><!--I want the color name here--> color name</span>

    也可以使用任何脚本。

    只有使用css和jquery才能做到这一点吗?

    提前谢谢你。

    4 回复  |  直到 7 年前
        1
  •  4
  •   Dharmesh Vekariya    7 年前

    添加 onchange 事件侦听器,将值设置为 span

    function getColorCode() {
      document.getElementById('color_name').innerHTML = event.currentTarget.value
    }
    input  {
      padding:0;
      border:none; 
      border-color:transparent;
      height:40px; 
      width:150px;
      position:relative;
      box-shadow:none;
    }
    span {
      position:absolute;
      color:#fff;
      left:20px;
      padding-top:10px;
      text-align:center;
    }
    <input id="input_color" type="color" onchange="getColorCode(event)" name="color" value="f025cb">
    <span id="color_name"> color name</span>
        2
  •  2
  •   Ankit Agarwal    7 年前

    将类名分配给 <span> 元素,然后使用已添加到的类名的类选择器为其设置颜色值 <跨度> .

    jQuery

    $('.color-name').text($('[name="color"]').val());
    input {
      padding: 0;
      border: none;
      border-color: transparent;
      height: 40px;
      width: 150px;
      position: relative;
      box-shadow: none;
    }
    
    span {
      position: absolute;
      color: #fff;
      left: 20px;
      padding-top: 10px;
      text-align: center;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <input type="color" name="color" value="#0a7ea4">
    <span class='color-name'></span>

    使用 JavaScript

    var colorVal = document.querySelector('[name="color"]').value;
    document.querySelector('.color-name').innerText = colorVal;
    输入{
    填充:0;
    边界:无;
    边框颜色:透明;
    高度:40px;
    位置:相对;
    盒影:无;
    }
    
    位置:绝对;
    衬垫顶部:10px;
    }
    <input type="color" name="color" value="#0a7ea4">
    <span class='color-name'></span>
        3
  •  2
  •   martinho    7 年前

    试试这个

    document.querySelector('span').innerHTML = document.getElementById('color').value

    事件知道何时更改量程值。

    document.getElementById('color').addEventListener('change', function (){
      document.querySelector('span').innerHTML = this.value;
    });
    

    document.querySelector('span').innerHTML = document.getElementById('color').value
    
    document.getElementById('color').addEventListener('change', function (){
      document.querySelector('span').innerHTML = this.value;
    });
    input {
      padding:0;
      border:none; 
      border-color:transparent;
      height:40px; 
      width:150px;
      position:relative;
      box-shadow:none;
    }
    
    span {
      position:absolute;
      color:#fff;
      left:20px;
      padding-top:10px;
      text-align:center;
    }
    <input type="color" name="color" value="#0a7ea4" id="color">
    <span></span>
        4
  •  1
  •   Edgardo Amaya    7 年前

        var theInput = document.getElementById("color");
        var theColor = theInput.value;
        theInput.addEventListener("input", function() {
        document.getElementById("displaycolor").innerHTML = theInput.value + " HEX code";
        }, false);
    input
    {
    padding:0;
    border:none; 
    border-color:transparent;
    height:40px; 
    width:150px;
    position:relative;
    box-shadow:none;
    }
    
    span
    {
    position:absolute;
    color:#fff;
    left:20px;
    padding-top:10px;
    text-align:center;
    }
    <input type="color" id="color" name="color" value="f025cb"  >
    <span id="displaycolor"><!--I want the color name here--> color name</span>