让线性渐变在 jQuery 中工作
Getting linear-gradient to work in jQuery
有没有办法让线性渐变在 jQuery 中工作?我很难让我的代码通过内联 CSS.
获取隐藏的输入值并将它们应用于 div
我的代码:
jQuery(document).ready(function ($) {
$(document).on( "click", '#update .acf-button-group', function() {
var color1 = $('#color1 input').val()
var color2 = $('#color2 input').val()
$("#output .acf-input").css({"background": "linear-gradient(top, (color1) 0%, (color2) 100%)"});
});
});
#output .acf-input {height:100px}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="color1">
<input type="hidden" name="acf[field_60d4d8ef09c78]" value="#0779bf">
</div>
<div id="color2">
<input type="hidden" name="acf[field_61f4e8ef1957b]" value="#48a9e4">
</div>
<div id ="output">
<div class="acf-input"></div>
</div>
<button id="update">Update</button>
您可以使用 linear-gradient(to top,${color1} 0%, ${color2} 100%)
,其中 color1 & color2 将具有输入值,然后在您的 acf-input
通过 css.
演示代码:
jQuery(document).ready(function($) {
$(document).on("click", '#update', function() {
var color1 = $('#color1 input').val()
var color2 = $('#color2 input').val()
var colors = `linear-gradient(to top,${color1} 0%, ${color2} 100%)`;
console.log(colors)
$("#output .acf-input").css({
"background":colors
});
});
});
#output .acf-input {
height: 100px
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="color1">
<input type="hidden" name="acf[field_60d4d8ef09c78]" value="#0779bf">
</div>
<div id="color2">
<input type="hidden" name="acf[field_61f4e8ef1957b]" value="#48a9e4">
</div>
<div id="output">
<div class="acf-input"></div>
</div>
<button id="update">Update</button>
您需要使用 to top
而不是 top
。
此外,您需要使用 `
和 ${}
传递变量。
此外,$(document).on( "click", '#update .acf-button-group'
你应该传递一个元素 $("#update")
而不是 '#update .acf-button-group'
。
全部修复后,应该可以了。
jQuery(document).ready(function ($) {
$(document).on("click", $("#update"), function () {
var color1 = $("#color1 input").val();
var color2 = $("#color2 input").val();
//console.log(`linear-gradient(to top, ${color1} 0%, ${color2} 100%)`);
$("#output .acf-input").css({
background: `linear-gradient(to top, ${color1} 0%, ${color2} 100%)`,
});
});
});
//
#output .acf-input {height:100px}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="color1">
<input type="hidden" name="acf[field_60d4d8ef09c78]" value="#0779bf">
</div>
<div id="color2">
<input type="hidden" name="acf[field_61f4e8ef1957b]" value="#48a9e4">
</div>
<div id ="output">
<div class="acf-input">xxxxxx</div>
</div>
<button id="update">Update</button>
有没有办法让线性渐变在 jQuery 中工作?我很难让我的代码通过内联 CSS.
获取隐藏的输入值并将它们应用于 div我的代码:
jQuery(document).ready(function ($) {
$(document).on( "click", '#update .acf-button-group', function() {
var color1 = $('#color1 input').val()
var color2 = $('#color2 input').val()
$("#output .acf-input").css({"background": "linear-gradient(top, (color1) 0%, (color2) 100%)"});
});
});
#output .acf-input {height:100px}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="color1">
<input type="hidden" name="acf[field_60d4d8ef09c78]" value="#0779bf">
</div>
<div id="color2">
<input type="hidden" name="acf[field_61f4e8ef1957b]" value="#48a9e4">
</div>
<div id ="output">
<div class="acf-input"></div>
</div>
<button id="update">Update</button>
您可以使用 linear-gradient(to top,${color1} 0%, ${color2} 100%)
,其中 color1 & color2 将具有输入值,然后在您的 acf-input
通过 css.
演示代码:
jQuery(document).ready(function($) {
$(document).on("click", '#update', function() {
var color1 = $('#color1 input').val()
var color2 = $('#color2 input').val()
var colors = `linear-gradient(to top,${color1} 0%, ${color2} 100%)`;
console.log(colors)
$("#output .acf-input").css({
"background":colors
});
});
});
#output .acf-input {
height: 100px
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="color1">
<input type="hidden" name="acf[field_60d4d8ef09c78]" value="#0779bf">
</div>
<div id="color2">
<input type="hidden" name="acf[field_61f4e8ef1957b]" value="#48a9e4">
</div>
<div id="output">
<div class="acf-input"></div>
</div>
<button id="update">Update</button>
您需要使用 to top
而不是 top
。
此外,您需要使用 `
和 ${}
传递变量。
此外,$(document).on( "click", '#update .acf-button-group'
你应该传递一个元素 $("#update")
而不是 '#update .acf-button-group'
。
全部修复后,应该可以了。
jQuery(document).ready(function ($) {
$(document).on("click", $("#update"), function () {
var color1 = $("#color1 input").val();
var color2 = $("#color2 input").val();
//console.log(`linear-gradient(to top, ${color1} 0%, ${color2} 100%)`);
$("#output .acf-input").css({
background: `linear-gradient(to top, ${color1} 0%, ${color2} 100%)`,
});
});
});
//
#output .acf-input {height:100px}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="color1">
<input type="hidden" name="acf[field_60d4d8ef09c78]" value="#0779bf">
</div>
<div id="color2">
<input type="hidden" name="acf[field_61f4e8ef1957b]" value="#48a9e4">
</div>
<div id ="output">
<div class="acf-input">xxxxxx</div>
</div>
<button id="update">Update</button>