Приветствую жителей форума зерокулпро, решил поставить себе рейтинг из 10 звёзд, но столкнулся с проблемой, рейтинг после нажатия на звезду остаётся в активном состоянии (можно ещё нажимать, хотя больше и не засчитывается), отображается не всегда корректно, например при рейтинге = 7 закрашиваются не все 7 звёзд. Может кто подскажет в чём проблема? Код такой:
Код:
function ShowRating($id, $rating, $vote_num, $allow = true) {
global $lang, $config;
if( !$config['rating_type'] ) {
if( $rating AND $vote_num ) $rating = round( ($rating / $vote_num), 1 );
else $rating = 0;
$rating1 = str_replace( ".", " , ", $rating );
$rating2 = str_replace( ",", "", $rating );
if( ! $allow ) {
$rated = <<<HTML
<div class="rating" style="float:left;">
<ul class="unit-rating">
<li class="current-rating" style="width:{$rating2}%;">{$rating2}</li>
</ul>
</div>
<td class="ratestats"><div itemprop="aggregateRating" itemscope="" itemtype="http://schema.org/AggregateRating">
Рейтинг аниме: <b itemprop="ratingValue">{$rating1}</b>
<br>
<small>Голосовало {$vote_num} отаку</small>
<span itemprop="ratingCount" style="display: none;">{$vote_num}</span>
<span itemprop="bestRating" style="display: none;">10</span>
<br>
</div></td>
HTML;
return $rated;
}
$rated .= <<<HTML
<div class="rating" style="float:left;">
<ul class="unit-rating">
<li class="current-rating" style="width:{$rating2}%;">{$rating2}</li>
<li><a href="#" title="1" class="r1-unit" onclick="doRate('1', '{$id}'); return false;">1</a></li>
<li><a href="#" title="2" class="r2-unit" onclick="doRate('2', '{$id}'); return false;">2</a></li>
<li><a href="#" title="3" class="r3-unit" onclick="doRate('3', '{$id}'); return false;">3</a></li>
<li><a href="#" title="4" class="r4-unit" onclick="doRate('4', '{$id}'); return false;">4</a></li>
<li><a href="#" title="5" class="r5-unit" onclick="doRate('5', '{$id}'); return false;">5</a></li>
<li><a href="#" title="6" class="r6-unit" onclick="doRate('6', '{$id}'); return false;">6</a></li>
<li><a href="#" title="7" class="r7-unit" onclick="doRate('7', '{$id}'); return false;">7</a></li>
<li><a href="#" title="8" class="r8-unit" onclick="doRate('8', '{$id}'); return false;">8</a></li>
<li><a href="#" title="9" class="r9-unit" onclick="doRate('9', '{$id}'); return false;">9</a></li>
<li><a href="#" title="10" class="r10-unit" onclick="doRate('10', '{$id}'); return false;">10</a></li>
</ul>
</div></div>
<td class="ratestats"><div itemprop="aggregateRating" itemscope="" itemtype="http://schema.org/AggregateRating">
Рейтинг аниме: <b itemprop="ratingValue">{$rating1}</b>
<br>
<small>Голосовало {$vote_num} отаку</small>
<span itemprop="ratingCount" style="display: none;">{$vote_num}</span>
<span itemprop="bestRating" style="display: none;">10</span>
<br>
</div></td>
HTML;
return $rated;
} elseif ($config['rating_type'] == "1") {
if( $rating < 0 ) $rating = 0;
if( $allow ) $rated = "<span id=\"ratig-layer-{$id}\" class=\"ignore-select\"><span class=\"ratingtypeplus ignore-select\" >{$rating}</span></span>";
else $rated = "<span class=\"ratingtypeplus ignore-select\" >{$rating}</span>";
return $rated;
} elseif ($config['rating_type'] == "2") {
$extraclass = "ratingzero";
if( $rating < 0 ) {
$extraclass = "ratingminus";
}
if( $rating > 0 ) {
$extraclass = "ratingplus";
$rating = "+".$rating;
}
if( $allow ) $rated = "<span id=\"ratig-layer-{$id}\" class=\"ignore-select\"><span class=\"ratingtypeplusminus ignore-select {$extraclass}\" >{$rating}</span></span>";
else $rated = "<span class=\"ratingtypeplusminus ignore-select {$extraclass}\" >{$rating}</span>";
return $rated;
}
}

