どうでも良い物を作ってみた。
/*
================================================================================
Name : Seven Stars Waver
In : [none]
Out : [none]
Note : はてなスターが7つあった場合ウェーブさせる
--------------------------------------------------------------------------------
Version : Ver1.0.0 | 2008/08/08 | 新規作成
: Ver1.0.1 | 2008/08/09 | 不具合修正
--------------------------------------------------------------------------------
License : MIT license
URL : www.kanasansoft.com
================================================================================
*/
(function(){
var classes=document.getElementsByClassName("hatena-star-star-container");
var handler=function(stars){
for(var i=0;i<stars.length;i++){
stars[i].style.position="relative";
}
var cnt=0;
var cntMax=30;
return function(){
var len=stars.length;
for(var i=0;i<len;i++){
var x=Math.sin(cnt/cntMax*Math.PI*2-i/len*Math.PI*2)*10*i/len;
stars[i].style.top=x+"px";
}
cnt++;
cnt=cnt%cntMax;
}
};
for(var i=0;i<classes.length;i++){
var links=classes[i].getElementsByTagName("a");
if(links.length==7){
setInterval(handler(links),50);
}
}
})();
================================================================================
Name : Seven Stars Waver
In : [none]
Out : [none]
Note : はてなスターが7つあった場合ウェーブさせる
--------------------------------------------------------------------------------
Version : Ver1.0.0 | 2008/08/08 | 新規作成
: Ver1.0.1 | 2008/08/09 | 不具合修正
--------------------------------------------------------------------------------
License : MIT license
URL : www.kanasansoft.com
================================================================================
*/
(function(){
var classes=document.getElementsByClassName("hatena-star-star-container");
var handler=function(stars){
for(var i=0;i<stars.length;i++){
stars[i].style.position="relative";
}
var cnt=0;
var cntMax=30;
return function(){
var len=stars.length;
for(var i=0;i<len;i++){
var x=Math.sin(cnt/cntMax*Math.PI*2-i/len*Math.PI*2)*10*i/len;
stars[i].style.top=x+"px";
}
cnt++;
cnt=cnt%cntMax;
}
};
for(var i=0;i<classes.length;i++){
var links=classes[i].getElementsByTagName("a");
if(links.length==7){
setInterval(handler(links),50);
}
}
})();
ひとつのエントリーにはてなスターが7つ付いている場合ウェーブさせる。
本当はgreasemonkeyにしたかったのだが、はてスタはonload時に読み込まれるようになっているので、タイミングを計るのが面倒。
このため、bookmarkletになっている。
実装にこだわるようなものでもないし...。
本当はgreasemonkeyにしたかったのだが、はてスタはonload時に読み込まれるようになっているので、タイミングを計るのが面倒。
このため、bookmarkletになっている。
実装にこだわるようなものでもないし...。
2008/08/09 追記
不具合があったので修正