gpt4 book ai didi

javascript 不能使用 forloop 对吗?

转载 作者:行者123 更新时间:2023-11-30 11:46:02 25 4
gpt4 key购买 nike

我正在制作一个事件列表,其中的日期被转换为事件发生前的天数。我希望事件有不同的颜色,更远的更红,更近的更绿。 days 是整数值,我事先检查它是否为 null 或小于 0,然后它为 0。出于某种原因,有时会针对某些事件完全跳过此函数。

这个 getTimeAndColorForElement() 是列表中每个元素的内部循环。

function getTimeAndColorForElement(time, element){
//time can be ISO 8601-format
var t = Date.parse(time) - Date.parse(new Date());
var minutes = Math.floor( (t/1000/60) % 60 );
var hours = Math.floor( (t/(1000*60*60)) % 24 );
var days = Math.floor( t/(1000*60*60*24) );

if(!days || days < 0){
days = 0;
}
var color = getColor(days);
$(element).css('color', color);

//... then sets days, hours mins and so on..

}

它调用这个函数来获取它的颜色..

function getColor(days) {

var red = 0;
var green = 250;
var blue = 0;

//set color more red the more days there is
for(i = 0; i < days; i++) {
green -= 15;
red += 15;
}

//keeping it in 0-255 color values.
if(green < 0) {
green = 0;
}
if(red < 0) {
red = 0;
}
if(blue < 0) {
blue = 0;
}
if(green > 250) {
green = 250;
}
if(red > 250) {
red = 250;
}
if(blue > 250) {
blue = 250;
}

//color in rgb
var color = "'rgb(" + red + "," + green + "," + blue + ")'";

return color;
}

最佳答案

你为什么不这样做:

var colorStep = 15,
red = colorStep * days,
green = 250 - colorStep * days,
blue = 0;

...

关于javascript 不能使用 forloop 对吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40937588/

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