2010年4月9日金曜日

五つ星評価 javascript

 スクリプトが小さくて、これがイカス。
 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 件のコメント:

コメントを投稿