我正在尝试更改背景渐变颜色。这是我的代码。浏览器反映getColor是undefined.color1,color2和color 3是我从用户那里得到的输入。它们工作但我仍然无法改变背景渐变颜色。
<script>
function getColor(){
var color1 = document.getElementById('color1').value;
var color2 = document.getElementById('color2').value;
var color3 = document.getElementById('color3').value;
function getCssValuePrefix()
{
var rtrnVal = '';//default to standard syntax
var prefixes = ['-o-', '-ms-', '-moz-', '-webkit-'];
// Create a temporary DOM object for testing
var dom = document.createElement('div');
for (var i = 0; i < prefixes.length; i++)
{
// Attempt to set the style
dom.style.background = prefixes[i] + 'liner-gradient(#000000, #ffffff)';
// Detect if the style was successfully set
if (dom.style.background)
{
rtrnVal = prefixes[i];
}
}
dom = null;
delete dom;
return rtrnVal;
}
document.getElementsByTagName("body")[0].style.background = getCssValuePrefix() + 'linear-gradient('+ '38deg' + ', ' + color1 + ', '+ color2 + ',' + color3 +')';
</script>
在html中我有一个按钮如下:
<button onclick="getColor">Change Background Color</button>
答案 0 :(得分:0)
浏览器反映getColor未定义
可能的问题是您的脚本未放在window.onload
中。因此,HTML onclick处理程序会在加载之前尝试getColor
。
注意:您的代码中有liner-gradient
。这是一个错字。