Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery根据动态值更改元素的颜色_Javascript_Jquery - Fatal编程技术网

Javascript 使用jQuery根据动态值更改元素的颜色

Javascript 使用jQuery根据动态值更改元素的颜色,javascript,jquery,Javascript,Jquery,因此,我想更改按钮上的颜色,该按钮显示从数据库获取的值。该值可以介于-10和10之间。 我想展示5种深浅的红色和5种深浅的绿色 var scoreTicker = parseInt($('.scoreTicker').innerHTML()); if(scoreTicker < 0){ $('.scoreTicker').css('background', 'red'); }

因此,我想更改按钮上的颜色,该按钮显示从数据库获取的值。该值可以介于-10和10之间。 我想展示5种深浅的红色和5种深浅的绿色

            var scoreTicker = parseInt($('.scoreTicker').innerHTML());

            if(scoreTicker < 0){
                $('.scoreTicker').css('background', 'red');
            }
            else(scoreTicker > 0){
                $('.scoreTicker').css('background', 'green');
            }
这就是我到目前为止的想法:

            var scoreTicker = parseInt($('.scoreTicker').innerHTML());

            if(scoreTicker < 0){
                $('.scoreTicker').css('background', 'red');
            }
            else(scoreTicker > 0){
                $('.scoreTicker').css('background', 'green');
            }
html

            <button class="scoreTicker">{{ $score }} </button>
            var scoreTicker = parseInt($('.scoreTicker').innerHTML());

            if(scoreTicker < 0){
                $('.scoreTicker').css('background', 'red');
            }
            else(scoreTicker > 0){
                $('.scoreTicker').css('background', 'green');
            }
{{$score}
js

            var scoreTicker = parseInt($('.scoreTicker').innerHTML());

            if(scoreTicker < 0){
                $('.scoreTicker').css('background', 'red');
            }
            else(scoreTicker > 0){
                $('.scoreTicker').css('background', 'green');
            }
var scoreTicker=parseInt($('.scoreTicker').innerHTML());
如果(记分器<0){
$('.scoreTicker').css('background','red');
}
其他(记分器>0){
$('.scoreTicker').css('background','green');
}

我在考虑为每个阴影做elseif语句,这将导致10个条件语句,这似乎有点过分了。有更聪明的方法吗?

因为您使用的是颜色的阴影,所以可以根据scoreTicker值计算十六进制代码,如下所示:

            var scoreTicker = parseInt($('.scoreTicker').innerHTML());

            if(scoreTicker < 0){
                $('.scoreTicker').css('background', 'red');
            }
            else(scoreTicker > 0){
                $('.scoreTicker').css('background', 'green');
            }
$(.scoreTicker input”).on(“input”,function(){
var scoreTicker=parseInt($(this.val());
变量颜色={
红色:0,,
绿色:0,
蓝色:0
};
如果(记分器>=0){
//绿色的
color.green=25.5*Math.abs(记分器);
}否则{
//红色的
color.red=25.5*Math.abs(记分器);
}
$('.scoreTicker').css('background','rgb(“+color.red+”,“+color.green+”,“+color.blue+”)));
});

您可以创建一个RGB或十六进制代码数组,并以这样的方式对其进行索引,即您的按钮值将表示数组中颜色的索引。因此,您最终将以以下方式使用它:

            var scoreTicker = parseInt($('.scoreTicker').innerHTML());

            if(scoreTicker < 0){
                $('.scoreTicker').css('background', 'red');
            }
            else(scoreTicker > 0){
                $('.scoreTicker').css('background', 'green');
            }
$('.scoreTicker').css('background-color', colors[buttonValue]);

如果不想在数组中预定义颜色,您可能会发现我的解决方案很有趣