[تحسين] استنتاج لون من الاحمر الى الاخضر على حسب نسبة مئوية
تطبيق
document.write("<span style='background-color: "+getColorForPercentage(0)+";'></span>"); document.write("<span style='background-color: "+getColorForPercentage(0.20)+";'></span>"); document.write("<span style='background-color: "+getColorForPercentage(0.40)+";'></span>"); document.write("<span style='background-color: "+getColorForPercentage(0.60)+";'></span>"); document.write("<span style='background-color: "+getColorForPercentage(0.80)+";'></span>"); document.write("<span style='background-color: "+getColorForPercentage(1)+";'></span>"); حاول بنفسك »اضغط على "حاول بنفسك" لكى ترى كيف تعمل فى الحقيقة var percentColors = [ { pct: 0.0, color: { r: 0xff, g: 0x00, b: 0 } }, { pct: 0.5, color: { r: 0xff, g: 0xff, b: 0 } }, { pct: 1.0, color: { r: 0x00, g: 0xff, b: 0 } } ]; var getColorForPercentage = function(pct) { for (var i = 0; i < percentColors.length; i++) { if (pct <= percentColors[i].pct) { var lower = percentColors[i - 1] || { pct: 0.1, color: { r: 0x0, g: 0x00, b: 0 } }; var upper = percentColors[i]; var range = upper.pct - lower.pct; var rangePct = (pct - lower.pct) / range; var pctLower = 1 - rangePct; var pctUpper = rangePct; var color = { r: Math.floor(lower.color.r * pctLower + upper.color.r * pctUpper), g: Math.floor(lower.color.g * pctLower + upper.color.g * pctUpper), b: Math.floor(lower.color.b * pctLower + upper.color.b * pctUpper) }; return 'rgb(' + [color.r, color.g, color.b].join(',') + ')'; } } } |
الموقع الآن فى الفترة التجريبية وهذا الجزء غير كامل وجارى العمل عليه، للراغبين في المساعدة برجاء التقدم