使用Javascript更改背景渐变颜色

时间:2015-05-31 14:00:15

标签: javascript html css

我正在尝试更改背景渐变颜色。这是我的代码。浏览器反映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>

1 个答案:

答案 0 :(得分:0)

  

浏览器反映getColor未定义

可能的问题是您的脚本未放在window.onload中。因此,HTML onclick处理程序会在加载之前尝试getColor

注意:您的代码中有liner-gradient。这是一个错字。