用javascript獲取任意顏色的更亮或更暗顏色值示例代碼
前言
本文主要給大家介紹的是關(guān)于利用javascript獲取任意顏色更亮或更暗顏色值的相關(guān)內(nèi)容,下面話不多說,來一起看看詳細(xì)的介紹:
預(yù)處理CSS,比如Sass和less可以通過設(shè)定一個特定值,讓任何顏色變得更亮或者更暗。但是在javascript中卻沒有這種方法。下面這個方法能在javascript中得到一個更亮或者更暗的值,通過一個給定的十六進制顏色值(比如#F06D06,或者沒有#)
示例代碼
function LightenDarkenColor(col, amt) {
var usePound = false;
if (col[0] == "#") {
col = col.slice(1);
usePound = true;
}
var num = parseInt(col,16);
var r = (num >> 16) + amt;
if (r > 255) r = 255;
else if (r < 0) r = 0;
var b = ((num >> 8) & 0x00FF) + amt;
if (b > 255) b = 255;
else if (b < 0) b = 0;
var g = (num & 0x0000FF) + amt;
if (g > 255) g = 255;
else if (g < 0) g = 0;
return (usePound?"#":"") + (g | (b << 8) | (r << 16)).toString(16);
}
// Lighten
var NewColor = LightenDarkenColor("#F06D06", 20);
// Darken
var NewColor = LightenDarkenColor("#F06D06", -20);
總結(jié)
以上就是這篇文章的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
JavaScript使用高階生成器進行過濾以生成素數(shù)
生成器大家都知道是怎么一回事,但是高階生成器又是什么東西呢,下面小編就來為大家簡單介紹一下如何使用高階生成器進行過濾以生成素數(shù)吧2024-02-02
webpack dll打包重復(fù)問題優(yōu)化的解決
在使用dll plugin過程中出現(xiàn)的一個包依賴問題,這個問題導(dǎo)致打出來的包會包含重復(fù)的代碼。這篇文章主要介紹了webpack dll打包重復(fù)問題優(yōu)化的解決,感興趣的小伙伴們可以參考一下2018-10-10
讓 JavaScript 輕松支持函數(shù)重載 (Part 2 - 實現(xiàn))
在上一篇文章里,我們設(shè)計了一套能在JavaScript中描述函數(shù)重載的方法,這套方法依賴于一個叫做Overload的靜態(tài)類,現(xiàn)在我們就來看看如何實現(xiàn)這個靜態(tài)類。2009-08-08

