透明度を変化させてシンプルなグラデーションにする。
透明度(opacity)を変化させてグラデーションを表現しています。
シンプルで一番使いやすいかもしれません。
html
<ul id="nav1"> <li><a href="#">List Navigation</a></li> <li><a href="#">List Navigation</a></li> <li><a href="#">List Navigation</a></li> <li><a href="#">List Navigation</a></li> <li><a href="#">List Navigation</a></li> <li><a href="#">List Navigation</a></li> </ul>
javascript
$(function() {
var opacityValue = 1;
$('#nav1 li a')
.each(function(){
$(this).css('opacity', opacityValue)
if(opacityValue >= 0.2) {
opacityValue -= 0.05;
}
})
});
「each」でリストの数だけ繰り返し透明度を下げるだけですね。
0になると見えなくなってしまうので0.2以下にはならないようにしています。
サンプルでは0.05づつ下げています。リストの数に応じてこの数値を調節してください。
テキストカラーを変化させる。
やってることはそれほど変わりませんが、テキストカラーを変化させればカラフルなグラデーションもできます。
javascript
$(function() {
var cR = 0;
var cG = 255;
var cB = 200;
$('#nav2 li a')
.each(function(){
$(this).css('color', 'rgb('+cR+', '+cG+', '+cB+')')
if (cR >= 0 && cR <= 255) cR += 20;
if (cG >= 0 && cG <= 255) cG -= 20;
//if (cB >= 0 && cB<= 255) cB += 20;
})
});
かなり制御しずらいと思いますが、rgbでカラー指定することで数値で色を変化させたりできます。
また「color」を「background-color」に変更すれば背景色をグラデーションにできますね。
ランダムに色を変化させる。
ちょっとグラデーションから離れますが、ランダムに色を変化させたりする場合は「Math.floor( Math.random() * 255)」などを入れてやれば簡単です。
javascript
$(function() {
var cR = Math.floor( Math.random() * 255 );
var cG = Math.floor( Math.random() * 255 );
var cB = Math.floor( Math.random() * 255 );
$('#nav3 li a')
.each(function(){
$(this).css('color', 'rgb('+cR+', '+cG+', '+cB+')')
cR = Math.floor( Math.random() * 255 );
cG = Math.floor( Math.random() * 255 );
cB = Math.floor( Math.random() * 255 );
})
});
すべてリストで作成していますが、子要素が規則正しく並んでいればリスト以外のものでもできます。

