RGB->FFFFFF形式の変換
RGBをFFFFFF形式に - PBD - 虹色センチメンタル - subtech
を参考にstyleでoutlineをなめらかに点滅させるを書きました。
フェイドさせるのにRGBを配列で扱ったほうがやりやすいので、
(1<<24|255<<16|255<<8|255).toString(16).slice(1)
の部分も配列でなんとかしたいけどreduceがないとなんともなりませんでした。
Array.prototype.reduce = function (fn, initialValue) { return ( this.length == 0 ) ? initialValue : this.slice(1).reduce(fn, fn(this[0], initialValue)); }; var rgb = [0xc0, 0xfe, 0xee]; rgb.unshift(1); [24,16,8,0].reduce( function (a, b) { return (v.shift()<<a) | b } , 0 ).toString(16).slice(1);
だいぶんreduce使えるようになってきました。