gpt4 book ai didi

javascript - 将这两个值传递给 CSS 中的变量

转载 作者:行者123 更新时间:2023-11-28 13:54:39 26 4
gpt4 key购买 nike

我无法将这两个值传递给 <style> 中的 CSS标签,它们是:( background-color: --placeholder; color: --placeholdtext; )。我可以传递一个或另一个值,但不能同时传递两个值。然后我将 CSS 复制到剪贴板。如果我将此代码放在函数的末尾:

var $tempt = $("<input>");
$("body").append($tempt);
$tempt.val(newtextStyle).select();
document.execCommand("copy");
$tempt.remove();

然后它传递 --placeholdtext; 的值。如果我把另一个放在最后:

var $temp = $("<input>");
$("body").append($temp);
$temp.val(newStyle).select();
document.execCommand("copy");
$temp.remove();

然后它传递 --placeholder; 的值。我需要通过两个。

脚本:

function copyToClipboard(element) {


let currentColor = $("#valueInput").val();
let currentStyle = $(element).text();

let newStyle = currentStyle.replace('--placeholder', "#" + currentColor);


var actualColor = window.getComputedStyle(document.getElementById('button_cont')).getPropertyValue('color');

document.getElementById('myField').value = actualColor;


let currenttextColor = $(".jscolor").val();
let currenttextStyle = $(element).text();

let newtextStyle = currenttextStyle.replace('--placeholdtext', currenttextColor);


var $tempt = $("<input>");
$("body").append($tempt);
$tempt.val(newtextStyle).select();
document.execCommand("copy");
$tempt.remove();

var $temp = $("<input>");
$("body").append($temp);
$temp.val(newStyle).select();
document.execCommand("copy");
$temp.remove();



}
#button_cont {
background-color: --placeholder;
color: --placeholdtext;
font-size: 18px;
text-decoration: none;
padding: 10px;
display: inline-block;
transition: all 0.4s ease 0s;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jscolor/2.0.4/jscolor.min.js"></script>

<a href="#" id="button_cont">The button</a>

<button class="jscolor{valueElement:'valueInput', styleElement:'button_cont'}">
Pick a color
</button>
<input id="valueInput" value="ed3330">
<button onclick="copyToClipboard('style')">Copy button</button></div>
</div>

<input type="hidden" id="myField" class="jscolor" onchange="update(this.jscolor);" value="" />

最佳答案

您的示例中有一些重复代码。例如,您可以链接替换方法,这意味着您可以避免为颜色和背景颜色使用两个单独的代码。

看这个例子:

function copyToClipboard(element) {

let currentColor = $("#valueInput").val();
let currentStyle = $(element).text();
var actualColor = $('#button_cont').css('color');

let newStyle = currentStyle.replace('--placeholder', "#" + currentColor).replace('--placeholdtext', actualColor);

$('#myField').val(actualColor);

let $temp = $("<input>");
$("body").append($temp);
$temp.val(newStyle).select();
document.execCommand("copy");
$temp.remove();
}
#button_cont {
background-color: --placeholder;
color: --placeholdtext;
font-size: 18px;
text-decoration: none;
padding: 10px;
display: inline-block;
transition: all 0.4s ease 0s;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jscolor/2.0.4/jscolor.min.js"></script>

<a href="#" id="button_cont">The button</a>

<button class="jscolor{valueElement:'valueInput', styleElement:'button_cont'}">
Pick a color
</button>
<input id="valueInput" value="ed3330">
<button onclick="copyToClipboard('style')">Copy button</button>


<input type="hidden" id="myField" class="jscolor" onchange="update(this.jscolor);" value="" />

关于javascript - 将这两个值传递给 CSS 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58901781/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com