JavaScript
テキストカラースケールアニメーション化2015/06/24
テキストの色をカラースケールで動的に変化させてみた。
dynamic-colorscale.jsを読み込むとdynamic-colorscaleクラスの付いた要素をspan要素で分割し、
各span要素のテキストの色を一定時間ごとに変化させる。
色相の増減にはcos関数を利用。
$(function(){ $(".dynamic-colorscale").each( // dynamic-grayscale-3要素ごとに function(){ var text = $(this).text(); // テキストを取得 $(this).text(""); // テキストを空に for(var i=0; i<text.length; i++){ // テキストの長さだけ繰り返す var span = $("<span>"); // span要素生成 span.text(text[i]); // 文字を設定 $(this).append(span); // span要素を追加 } } ); var cvt = Math.PI/180; // ラジアン変換器 var angle = 180; // 角度を初期化 setInterval(function(){ $(".dynamic-colorscale").each( // dynamic-grayscale-3要素ごとに function(){ $(this).find("span").each( // span要素ごとに function(i){ var hue = Math.floor((Math.cos((i*5+angle)*cvt)+1)*180); // 輝度を作成 $(this).css("color","hsl(" + hue + ",80%, 50%)"); // 色を設定 } ); } ); angle += angle < 0 ? 360 : -20; // 角度を更新 }, 100); // 0.1秒毎に実行 });