oitake blog

いろいろリンク

おすすめリンク

最近のエントリー

カテゴリー

20101012:コメントとトラックバックを停止したことにより、このサイトはアーカイブとなりました。以降、ご連絡はみもねるのウェブサイトへお願いします。
20100703:新ナマコメ(ナマコメ 2)を公開しました。コメントビューア付きで送信面においてもパワーアップしています。
旧ナマコメは将来的に使用できなくする予定なので、可能な限り新ナマコメをお使いください。
20091127:oitake は みもねる になりました。当ブログは無期限更新停止となります。詳細は最新の記事をご覧ください。

スポンサーサイト

一定期間更新がないため広告を表示しています


2009.12.16 Wednesday | | - | - | -

ブンブン 2

※本スクリプトのデモンストレーションは終了しました。
 実際にご覧になりたい方は、ご自分のウェブサイトでお試しください。

ブンブンに軽いバグが見つかったので、修正版の「ブンブン 2」をリリースします。
タグを含むリンク(imgタグを含むa要素など)をブンブンしようとすると、中のタグが文字列になってしまう、というバグでした。



↑の画像リンクも、この文字列リンクもブンブンしません。

ソースコードは続きからどうぞ。
実はもう一点、「<」と「>」が、「&lt;」と「&gt;」になってしまうバグもあるのですが、修正が難しいので軽く放置させていただきます。
(今日はこれだけ。ブルブルの修正版はまた明日!)

【ソースコード】

// --------------------------------
// ブンブン 2 (C) 20061110 oitake
// --------------------------------
// --------------------------------
// ユーザー定義変数
// --------------------------------
// ブンブンする速さ(1秒=1000)
// ※少ないほど速い。
var bnbn_interval=30;
// ブンブンする滑らかさ
// ※多いほど滑らか。
var bnbn_frame=12;
// ブンブンする高さ
var bnbn_height=16;
// relフィルタ
var bnbn_rel='bnbn';
// relフィルタのふるまい
// ※真でrelフィルタのみ処理/偽でrelフィルタ以外を処理。
var bnbn_rel_only=false;
// --------------------------------
// スクリプト本体
// ※「-2」を「-1」などにすると面白い。
// --------------------------------
var bnbn_datas=[];
var bnbn_timer_id=false;
function bnbn()
{
for(var i=0; i {
var k=document.links[i].rel==bnbn_rel;
if(k==bnbn_rel_only && document.links[i].childNodes && document.links[i].childNodes.length==1 && document.links[i].childNodes[0].nodeType=='3')
{
bnbn_datas[i]=
{
time:-1,
html:document.links[i].innerHTML
};
eval('document.links[i].onmouseout=function(){bnbn_out('+i+')};');
}
}
}
function bnbn_out(n)
{
if(bnbn_datas[n].time==-1)
{
bnbn_datas[n].time=0;
}
if(!bnbn_timer_id)
{
bnbn_timer_id=setInterval('bnbn_timer()',bnbn_interval);
}
}
function bnbn_timer()
{
var k=true;
for(var i in bnbn_datas)
{
if(bnbn_datas[i].time!=-1)
{
k=false;
var html='';
for(var j=0; j {
html+=''+bnbn_datas[i].html.charAt(j)+'';
}
document.links[i].innerHTML=html;
if(bnbn_datas[i].time++==bnbn_frame)
{
bnbn_datas[i].time=-1;
document.links[i].innerHTML=bnbn_datas[i].html;
}
}
}
if(k)
{
clearInterval(bnbn_timer_id);
bnbn_timer_id=false;
}
}
bnbn();

スポンサーサイト


2009.12.16 Wednesday | 17:35 | - | - | -