开云体育 평점 플러그인 사용을 위해 다음이 필요합니다:
<div class="rateit">
</div>
<span class="rateit">
</span>
<input type="range" min="0" max="7" value="0" step="0.5" id="backing2">
<div class="rateit" data-rateit-backingfld="#backing2"></div>
<select id="backing2b">
<option value="0">Bad</option>
<option value="1">OK</option>
<option value="2">Great</option>
<option value="3">Excellent</option>
</select>
<div class="rateit" data-rateit-backingfld="#backing2b"></div>
<div class="rateit" data-rateit-value="2.5" data-rateit-ispreset="true" data-rateit-readonly="true"></div>
<input type="range" value="4" step="0.25" id="backing4">
<div class="rateit" data-rateit-backingfld="#backing4" data-rateit-resetable="false" data-rateit-ispreset="true"
data-rateit-min="0" data-rateit-max="10">
</div>
<div class="rateit" id="rateit5" data-rateit-min="2">
</div>
<div>
<span id="value5"></span>
<span id="hover5"></span>
</div>
<script type="text/javascript">
$("#rateit5").bind('rated', function (event, value) { $('#value5').text('You\'ve rated it: ' + value); });
$("#rateit5").bind('reset', function () { $('#value5').text('Rating reset'); });
$("#rateit5").bind('over', function (event, value) { $('#hover5').text('Hovering over: ' + value); });
</script>
<input type="hidden" id="backing6">
<div id="rateit6">
</div>
<script type="text/javascript">
$(function () { $('#rateit6').rateit({ max: 20, step: 2, backingfld: '#backing6' }); });
</script>
플러그인의 스타일은 두 가지 방법으로 변경할 수 있습니다.
<div class="rateit bigstars" data-rateit-starwidth="32" data-rateit-starheight="32"></div>
div.bigstars div.rateit-range
{
background: url(star-white32.webp);
height: 32px;
}
div.bigstars div.rateit-hover
{
background: url(star-gold32.webp);
}
div.bigstars div.rateit-selected
{
background: url(star-red32.webp);
}
div.bigstars div.rateit-reset
{
background: url(star-black32.webp);
width: 32px;
height: 32px;
}
div.bigstars div.rateit-reset:hover
{
background: url(star-white32.webp);
}
여기서는 하나의 큰 이미지(실제로는 3개)를 다른 크기로 사용합니다. 보기 좋지는 않지만 메시지를 전달하는 데 도움이 되기를 바랍니다.
<div class="rateit antenna" data-rateit-starwidth="11" data-rateit-starheight="25"></div>
div.antenna div.rateit-range
{
background: url(antenna-black.webp) no-repeat;
height: 25px;
}
div.antenna div.rateit-hover
{
background: url(antenna-yellow.webp) no-repeat;
}
div.antenna div.rateit-selected
{
background: url(antenna-red.webp) no-repeat;
}
모든 속성은 즉시 설정할 수도 있습니다. 몇 가지 예는 다음과 같습니다.
<div class="rateit" id="rateit9">
</div>
<div>
<button onclick="alert($('#rateit9').rateit('value'))">Get value</button>
<button onclick="$('#rateit9').rateit('value', prompt('Input numerical value'))">Set value</button>
</div>
<div>
<button onclick="alert($('#rateit9').rateit('max'))">Get max value</button>
<button onclick="$('#rateit9').rateit('max', prompt('Input numerical value'))">Set max value</button>
</div>
<div>
<button onclick="alert($('#rateit9').rateit('step'))">Get step size</button>
<button onclick="$('#rateit9').rateit('step', prompt('Input numerical value'))">Set step size</button>
</div>
<div>
<button onclick="alert($('#rateit9').rateit('readonly'))">Get readonly value</button>
<button onclick="$('#rateit9').rateit('readonly',!$('#rateit9').rateit('readonly'))">Toggle readonly</button>
</div>
<div>
<button onclick="alert($('#rateit9').rateit('ispreset'))">Get ispreset value</button>
<button onclick="$('#rateit9').rateit('ispreset',!$('#rateit9').rateit('ispreset'))">Toggle ispreset</button>
</div>
<div>
<button onclick="$('#rateit9').rateit('reset')">Reset</button>
</div>
툴팁을 사용하는 것은 쉽습니다. hover 이벤트에 바인딩하고 원하는 작업을 수행하세요. 여기에 표시된 것은 기본 툴팁이지만 물론 원하는 툴팁을 사용할 수 있습니다.
<div class="rateit" id="rateit10">
</div>
<script type="text/javascript">
$("#rateit10").bind('over', function (event,value) { $(this).attr('title', value); });
</script>
<div class="rateit" id="rateit10b" data-rateit-step="1">
</div>
<script type="text/javascript">
var tooltipvalues = ['bad', 'poor', 'ok', 'good', 'super'];
$("#rateit10b").bind('over', function (event, value) { $(this).attr('title', tooltipvalues[value-1]); });
</script>
대부분의 경우 RateIt은 Ajax를 사용하여 사용됩니다. 구현하는 데는 여러 가지 방법이 있습니다. (백킹 필드 사용/미사용, data-* 속성 사용 등)
<div id="products">
<div style="float:right; width:350px; border:1px solid #ccc; padding:1em;">
<strong>Server response:</strong>
<ul id="response">
</ul>
</div>
<ul>
<li><h4>Product X (id: 312)</h4>
RateIt: <div data-productid="312" class="rateit"></div>
</li>
<li><h4>Product Y (id: 423)</h4>
RateIt: <div data-productid="423" class="rateit"></div></li>
<li><h4>Product Z (id: 653)</h4>
RateIt: <div data-productid="653" class="rateit"></div>
</li>
</ul>
</div>
<script type ="text/javascript">
//we bind only to the rateit controls within the products div
$('#products .rateit').bind('rated reset', function (e) {
var ri = $(this);
//if the use pressed reset, it will get value: 0 (to be compatible with the HTML range control), we could check if e.type == 'reset', and then set the value to null .
var value = ri.rateit('value');
var productID = ri.data('productid'); // if the product id was in some hidden field: ri.closest('li').find('input[name="productid"]').val()
//maybe we want to disable voting?
ri.rateit('readonly', true);
$.ajax({
url: 'rateit.aspx', //your server side script
data: { id: productID, value: value }, //our data
type: 'POST',
success: function (data) {
$('#response').append('<li>' + data + '</li>');
},
error: function (jxhr, msg, err) {
$('#response').append('<li style="color:red">' + msg + '</li>');
}
});
});
</script>
<%@ Page Language="C#" %>
<%
//Get value
float value = float.Parse(Request.Form["value"]);
int productID = int.Parse(Request.Form["id"]);
Response.Write(string.Format("You voted {0} on product: {1}.<br/>Time on server: {2}", value, productID, DateTime.Now.ToString()));
%>
때로는 평가 컨트롤의 크기를 조정하고 싶을 수 있습니다(예: 화면 크기에 따라).
이것은 다음과 같이 쉽습니다.
a) rateit 컨트롤에 클래스를 추가하여 배경 이미지를 변경합니다.
b) starwidth 및 starheigth 속성을 수정합니다.
대체 스타일링은 예제에서 가져옵니다. 7a) 스타일링.
크기 선택:
<div class="rateit" id="rateit12"></div>
<p>Pick a size:
<select id="size_12">
<option data-class="" data-size="16" selected>normal</option>
<option data-class="bigstars" data-size="32">big</option>
</select>
</p>
<script type="text/javascript">
$('#size_12').change(function () {
var option = $(this.options[this.selectedIndex]);
$('#rateit12').removeClass('bigstars') //remove old class
.addClass(option.data('class')) //add new class
.rateit('starwidth', option.data('size')) //change width
.rateit('starheight', option.data('size')); //change height
});
</script>