如何在javascript中加入这些值?

时间:2019-01-11 13:36:32

标签: javascript jquery

function setopacity(opa,id){
    //alert(opacity);
    document.getElementById("txt"+id).style.opacity = "."+opa;
}
function setBColor(Bclr,id){
    document.getElementById("txt"+id).style.background = "#"+Bclr;
}

<div class="col-sm-1">
    <input required type="text" value="FF8C66"  class="jscolor form-control input-lg" name="Bclr[]" onChange="setBColor(this.value,<?php echo $row; ?>);" >
</div>

<div class="col-sm-1">
    <input required="required"  placeholder="opacity" value="20" type="number" min="5" class="form-control input-lg" name="opa[]" onChange="setopacity(this.value,<?php echo $row; ?>);" >
</div>

以上是我的代码(代码的一部分),我可以在输出的样式标签中使用上述代码设置不透明度,但它同时适用于文本和背景。但我只想应用到背景。我如何用我的代码做到这一点。

我只是尝试这种方法,但无法获得结果。

function setBColor(Bclr,id){
    document.getElementById("txt"+id).style.background = "#"+Bclr+"."+opa;
}

并愿意得到这样的输出

<li class="drag" thk="1" id="txt1" draggable="true" ondragstart="drag_start(event);" style="top: 231px; left: 64px; font-family: &quot;BalooPaaji-Regular.ttf&quot;; color: rgb(21, 0, 255); background-color: rgb(21, 0, 255,0.2);">Your Text 1 </li>

更新:i just want to add these 2 values +Bclr+"."+opa so i can get output like background-color: rgb(21, 0, 255,0.2); this

请帮助我。对不起,我的英语不好。

1 个答案:

答案 0 :(得分:3)

我希望这是您需要的:

function hexToRGB(hex) {
  return [(hex>>16)&255, (hex>>8)&255, hex&255].join(', ');
}
function setBColor(id, Bclr, opa) {
  const rgb = hexToRGB('0x' + Bclr);
  document.getElementById("txt" + id).style.backgroundColor = "rgba(" + rgb + ", " + opa + ")";
}

用法:

setBColor('Footer', 'AA0099', 0.75);
setBColor('Header', 'FFFFFF', 1);