碎片时间学编程「63]:使用 hsl()更改颜色字符串的亮度值

使用 String.prototype.match() 获取包含数值的 3 个字符串的数组。

使用 Array.prototype.map() 结合 Number 将它们转换为数值数组。

使用 Math.max() 和 Math.min() 确保亮度在有效范围内(介于0和之间100)。

使用模板文字创建 hsl() 具有更新值的新字符串。

JavaScript

const changeLightness = (delta, hslStr) => {

  const [hue, saturation, lightness] = hslStr.match(/\d+/g).map(Number);

  const newLightness = Math.max(

    0,

    Math.min(100, lightness + parseFloat(delta))

  );

  return `hsl(${hue}, ${saturation}%, ${newLightness}%)`;

};

示例:

changeLightness(10,'hsl(330, 50%, 50%)');// 'hsl(330, 50%, 60%)'

changeLightness(-10,'hsl(330, 50%, 50%)');// 'hsl(330, 50%, 40%)'

更多内容请访问我的网站:https://www.icoderoad.com

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容