スクリプトが小さくて、これがイカス。
AJAX Star Rating
5つ星になるために、少し数値を調整。
star.mouse=function(e,o) { if(star.stop || isNaN(star.stop)) { star.stop=0;
document.onmousemove=function(e) { var n=star.num;
var p=abPos($('star'+n)), x=XY(e), oX=x.X-p.X, oY=x.Y-p.Y; star.num=o.id.substr(4);
if(oX<1 || oX>84 || oY<0 || oY>19) { star.stop=1; star.revert(); }
else {
var aX=Math.ceil(oX/17)*17;
$S('starCur'+n).width=aX+'px';
$('starUser'+n).innerHTML=Math.ceil(oX/17)+'point';
$S('starUser'+n).color='#111';
}
};
} };
star.update=function(e,o) { var n=star.num, v=parseInt($('starUser'+n).innerHTML);
var w=v*17;
n=o.id.substr(4); $('starCur'+n).title=w;
};
star.revert=function() { var n=star.num, v=parseInt($('starCur'+n).title);
$S('starCur'+n).width=Math.ceil(v)+'px';
$('starUser'+n).innerHTML=(v>=0?Math.ceil(v/20)+'point':'');
$('starUser'+n).style.color='#888';
$('inputUser'+n).value=(v>=0?Math.ceil(v/20):'');
document.onmousemove='';
};
0 件のコメント:
コメントを投稿