Search
  1. jQuery Ajax Rater Plugin〔カスタマイズ性に富んだスターレーティング〕
  2. Progressive Enhancement: jQuery Rating〔jQueryを使用してシンプルなスターレーティングを作成する方法〕
  3. Sexy Vote jQuery plugin〔ツールチップ付きのスターレーティング〕

jQuery Ajax Rater Plugin
カスタマイズ性に富んだスターレーティング

2009/3/23

jQuery Ajax Rater Plugin

[JS]jquery.js、jquery.rater.js
[PHP]ratingsdemo.php

星をクリックすると評価できるスターレイティングを簡単に作成できるjQueryプラグイン。

クリックした値は、PHPで取得して表示しています。

ratingsdemo.php
phpnow coding ...
/content/lib/jquery/jquery_rater/ratingsdemo.php

星部分は、1つ分の星の背景画像を横方向へ繰り返し表示しています。 いくつかのオプションが用意されており、簡単に星のレイアウトや動作を変更することができます。

Gmail風にシングルの星をON/OFFしたい場合は、下記のように星の数を1つだけにすればOK。

$('#demo4').rater('ratingsdemo.php', {maxvalue:1, style: 'basic'});
オプション説明
maxvalue評価の段階数(星の数)を数値で指定。デフォルトは5。
style星のスタイルを指定。デフォルトは「basic」(通常サイズの星)。小さな星にするには「small」、星部分をインライン表示するには「inline」を指定します。
curvalue評価の初期値を数値で指定。デフォルトは0。
設置イメージ設置イメージ
jQuery Ajax Rater Pluginの設置サンプルサンプルを見る
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="Content-Language" content="ja" />
        <meta http-equiv="Content-Script-Type" content="text/javascript" />
        <meta http-equiv="Content-Style-Type" content="text/css" />
        <meta http-equiv="imagetoolbar" content="no" />
        <title>jQuery Ajax Rater Plugin | 設置サンプル</title>
        <link rel="stylesheet" type="text/css" href="/content/lib/global.css" />
        <!-- JS -->
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
        <script type="text/javascript" src="/content/lib/jquery/jquery_rater/jquery.rater.js"></script> 
        <script type="text/javascript">
            $(function(){
                /* 例1 */
                $('#demo1').rater('/content/lib/jquery/jquery_rater/ratingsdemo.php');
                /* 例2 */
                $('#demo2').rater('/content/lib/jquery/jquery_rater/ratingsdemo.php', {style: 'small'});
                /* 例3 */
                $('#inline1').rater('/content/lib/jquery/jquery_rater/ratingsdemo.php', {style: 'inline'});
                $('#inline2').rater('/content/lib/jquery/jquery_rater/ratingsdemo.php', {style: 'inline', curvalue:3});
                /* 例4 */
                $('#demo4').rater('/content/lib/jquery/jquery_rater/ratingsdemo.php', {maxvalue:1, style: 'basic'});
                /* 例5 */
                $('#demo5').rater('/content/lib/jquery/jquery_rater/ratingsdemo.php', {style: 'basic', curvalue:2});
                /* 例6 */
                $('#demo6').rater('/content/lib/jquery/jquery_rater/ratingsdemo.php', {maxvalue:10, style: 'basic', curvalue:0});
                /* 例7 */
                $('#demo7').rater('/content/lib/jquery/jquery_rater/ratingsdemo.php', {maxvalue:20, style: 'small', curvalue:3});
            });
        </script>
        <!-- CSS -->
        <link rel="stylesheet" type="text/css" href="/content/lib/jquery/jquery_rater/rater.css" />
    </head>
    <body>
        <div id="wrap">
            <h1><a href='http://www.m3nt0r.de/devel/raterDemo/'>jQuery Ajax Rater Plugin</a> | 設置サンプル</h1>
<!-- CODE -->
            <h2>例1:基本</h2>
            <div id="demo1" class="demo"></div>
            <pre>&#36;('#demo1').rater('ratingsdemo.php');</pre>

            <h2>例2:コンパクト表示</h2>
            <div id="demo2" class="demo"></div>
            <pre>&#36;('#demo2').rater('ratingsdemo.php', {style: 'small'});</pre>

            <h2>例3:インライン表示</h2>
            <div id="demo3" class="demo"><span id="inline1"></span> <b>and</b> <span id="inline2"></span></div>
            <pre>&#36;('#inline1').rater('ratingsdemo.php', {style: 'inline'});
&#36;('#inline2').rater('ratingsdemo.php', {style: 'inline', curvalue:3});</pre>

            <h3>例4:Gmail風</h3>
            <div id="demo4" class="demo"></div>
            <pre>&#36;('#demo4').rater('ratingsdemo.php', {maxvalue:1, style: 'basic'});</pre>

            <h2>例5:基本(初期値を指定)</h2>
            <div id="demo5" class="demo"></div>
            <pre>&#36;('#demo5').rater('ratingsdemo.php', {style: 'basic', curvalue:2});</pre>

            <h2>例6:基本(星の数を指定)</h2>
            <div id="demo6" class="demo"></div>
            <pre>&#36;('#demo6').rater('ratingsdemo.php', {maxvalue:10, style: 'basic', curvalue:0});</pre>

            <h2>例7:コンパクト表示(星の数を指定)</h2>
            <div id="demo7" class="demo"></div>
            <pre>&#36;('#demo7').rater('ratingsdemo.php', {maxvalue:20, style: 'small', curvalue:3});</pre>
<!-- / CODE -->
        </div>
    </body>
</html>

Progressive Enhancement: jQuery Rating
jQueryを使用してシンプルなスターレーティングを作成する方法

2009/3/23

jQuery Ratings - A Progressive Enhancement Approach

[JS]jquery.js
[PHP]rating.php

jQueryを使用して、簡単なレーティングを作成する方法が掲載されています。 数値をクリックして投票すると、投票結果が表示されます。

ラジオボタン(ラジオボタン部分は非表示にしてラベルの数値のみを表示)をクリックすると、$.ajaxを使用して、下記のPHPファイルを読み込み、PHP側で処理した値を受け取って表示する仕組みになっています。

rating.php
phpnow coding ...
/content/demo/rating.php
設置イメージ設置イメージ
Progressive Enhancement: jQuery Ratingの設置サンプルサンプルを見る
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="Content-Language" content="ja" />
        <meta http-equiv="Content-Script-Type" content="text/javascript" />
        <meta http-equiv="Content-Style-Type" content="text/css" />
        <meta http-equiv="imagetoolbar" content="no" />
        <title>Progressive Enhancement: jQuery Rating | 設置サンプル</title>
        <link rel="stylesheet" type="text/css" href="/content/lib/global.css" />
        <!-- JS -->
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
        <script type="text/javascript">
            $(function(){
                /* 投票ボタンを非表示にする */
                $("input#btn_vote").hide();
                /* すべてのラジオボタンを非表示にする */
                $("form#rate_this input[type='radio']").hide();
                /* CSSでラベルをクリックしやすいようにする */
                $("form#rate_this label").addClass("selector");
                /* マウスオーバーした時ラベルをハイライト表示する */
                $("label.selector, #rating_scores a").hover(
                    function(){ 
                        $(this).addClass("selector_h"); 
                    }, function() { 
                        $(this).removeClass("selector_h");
                });
                /* クリックしたラベルの値を取得して表示 */
                $("form#rate_this input[type='radio']").click(function() { 
                    data = $("form").serialize();
                    $.ajax({
                        type: "POST",
                        url: "/content/demo/rating.php",
                        data:data,
                        success: function(evt, request, settings) {
                            $("#rating_result").text(evt);
                        },
                        error: function(msg) {
                            alert("投票に失敗しました");
                        }
                    });
                });
            });
        </script>
        <!-- CSS -->
        <style type="text/css">
            #rating_scores { margin:0 0 10px 0; padding:10px; }
            #rating_scores label { margin:5px; padding:5px 7px; color: #000; text-transform:uppercase; cursor: pointer; font-size:1.2em; height:1.5em; font-weight:bold; }
            #rating_scores label.selector_h { background:#ff3366; color:#fff; }
            #rating_result { font-weight:bold; color:#ff3366; }
        </style>
    </head>
    <body>
        <div id="wrap">
            <h1><a href='http://somedirection.com/2008/03/24/jquery-ratings-a-progressive-enhancement-approach/'>Progressive Enhancement: jQuery Rating</a> | 設置サンプル</h1>
            <p>▼数値をクリックして投票すると、投票した数値が表示されます。</p>
<!-- CODE -->
            <form id="rate_this" action="/content/demo/rating.php" method="post">
                <fieldset id="rating_scores">
                    <legend>評価投票</legend>
                    <label for="r1"><input id="r1" type="radio" value="1" name="rating" />1</label>
                    <label for="r2"><input id="r2" type="radio" value="2" name="rating" />2</label>
                    <label for="r3"><input id="r3" type="radio" value="3" name="rating" />3</label>
                    <label for="r4"><input id="r4" type="radio" value="4" name="rating" />4</label>
                    <label for="r5"><input id="r5" type="radio" value="5" name="rating" />5</label>
                    <label for="r6"><input id="r6" type="radio" value="6" name="rating" />6</label>
                    <label for="r7"><input id="r7" type="radio" value="7" name="rating" />7</label>
                    <label for="r8"><input id="r8" type="radio" value="8" name="rating" />8</label>
                    <label for="r9"><input id="r9" type="radio" value="9" name="rating" />9</label>
                    <label for="r10"><input id="r10" type="radio" value="10" name="rating" />10</label>
                    <input type="submit" id="btn_vote" value="投票" />
                </fieldset>
                <p>投票した値:<span id="rating_result"></p>
            </form>
<!-- / CODE -->
        </div>
    </body>
</html>

Sexy Vote jQuery plugin
ツールチップ付きのスターレーティング

2009/3/23

Sexy Vote jQuery plugin

jquery.js、jquery.sexy-vote.js

メッセージ付きのスターレーティングを作成できるjQueryプラグイン。

星にマウスオーバーすると右側に評価メッセージが表示されます。 星をクリックして投票すると、投票完了メッセージが表示されます。 連続投稿できないよう、一度投稿するとリロードするまでクリックないようになっています。

設置イメージ設置イメージ
Sexy Vote jQuery pluginの設置サンプルサンプルを見る
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="Content-Language" content="ja" />
        <meta http-equiv="Content-Script-Type" content="text/javascript" />
        <meta http-equiv="Content-Style-Type" content="text/css" />
        <meta http-equiv="imagetoolbar" content="no" />
        <title>Progressive Enhancement: jQuery Rating | 設置サンプル</title>
        <link rel="stylesheet" type="text/css" href="/content/lib/global.css" />
        <!-- JS -->
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
        <script type="text/javascript" src="/content/lib/jquery/jquery.sexy-vote.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                $("#rating").sexyVote();
            });
        </script>
        <!-- CSS -->
        <style type="text/css">
            #rating img { vertical-align:middle; }
            #rating span { margin-left:10px; }
        </style>
    </head>
    <body>
        <div id="wrap">
            <h1><a href='http://phone.witamean.net/sexy-vote/'>Sexy Vote jQuery plugin</a> | 設置サンプル</h1>
            <p>▼星にマウスオーバーすると右側にツールチップが表示されます。星をクリックすると、投票完了メッセージが表示されます。</p>
<!-- CODE -->
            <div id="rating"></div>
<!-- / CODE -->
        </div>
    </body>
</html>

関連コンテンツ

Q. このサイトの情報はお役に立ちましたでしょうか?

投票する 投票結果を見る

管理人に【web拍手】を送るweb拍手(1行メッセージも送れます♪)

pagetop