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: "BalooPaaji-Regular.ttf"; 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
请帮助我。对不起,我的英语不好。
答案 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);