※「ブルブル 4」こと「ブルブル!」をリリースしました。こちらを使ってください。
「ブルブル 2」のバグ修正版、および横揺れ追加版の「ブルブル 3」です。
前回よりも多めにブルブルしております。
あなたのウェブサイトのリンクも「ブルブル」させるには、
1.下のリンク先からソースコードをコピー
2.ウェブページの最後の方にペースト
してください。
仕様は
「ブンブン 2」と全く同じです。
【ソースコード】
// --------------------------------
// ブルブル 3 (C) 20061111 oitake
// --------------------------------
// --------------------------------
// ユーザー定義変数
// --------------------------------
// ブルブルする速さ(1秒=1000)
// ※少ないほど速い。
var brbr_interval=30;
// ブルブルする滑らかさ
// ※多いほど滑らか。
var brbr_frame=16;
// ブルブルする高さ
var brbr_amp=8;
// relフィルタ
var brbr_rel='brbr';
// relフィルタのふるまい
// ※真でrelフィルタのみ処理/偽でrelフィルタ以外を処理。
var brbr_rel_only=false;
// --------------------------------
// スクリプト本体
// ※「-2」を「-1」などにすると面白い。
// --------------------------------
var brbr_datas=[];
var brbr_timer_id=false;
var brbr_base=Math.PI*0.5/brbr_frame;
var brbr_amp2=brbr_amp/2;
function brbr()
{
for(var i=0; i<document.links.length; i++)
{
var k=document.links[i].rel==brbr_rel;
if(k==brbr_rel_only && document.links[i].childNodes && document.links[i].childNodes.length==1 && document.links[i].childNodes[0].nodeType=='3')
{
brbr_datas[i]=
{
time:-1,
html:document.links[i].innerHTML
};
eval('document.links[i].onmouseout=function(){brbr_out('+i+')};');
}
}
}
function brbr_out(n)
{
if(brbr_datas[n].time==-1)
{
brbr_datas[n].time=0;
}
if(!brbr_timer_id)
{
brbr_timer_id=setInterval('brbr_timer()',brbr_interval);
}
}
function brbr_timer()
{
var k=true;
for(var i in brbr_datas)
{
if(brbr_datas[i].time!=-1)
{
k=false;
var html='';
for(var j=0; j<brbr_datas[i].html.length; j++)
{
html+='<span style="position:relative;left:'+Math.round(Math.cos(brbr_base*brbr_datas[i].time)*(Math.random()*brbr_amp-brbr_amp2))+'px;top:'+Math.round(Math.cos(brbr_base*brbr_datas[i].time)*(Math.random()*brbr_amp-brbr_amp2))+'px;">'+brbr_datas[i].html.charAt(j)+'</span>';
}
document.links[i].innerHTML=html;
if(brbr_datas[i].time++==brbr_frame)
{
brbr_datas[i].time=-1;
document.links[i].innerHTML=brbr_datas[i].html;
}
}
}
if(k)
{
clearInterval(brbr_timer_id);
brbr_timer_id=false;
}
}
brbr();