Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   помогите создать рейтинг со звездочками на странице(((( (http://forum.oszone.net/showthread.php?t=132366)

Tamaxta 18-02-2009 14:08 1042221

помогите создать рейтинг со звездочками на странице((((
 
Приветик!!! На WEB-странице хочу создать рейтинг книги со звездочками и коментариями, но не получается.
Помогите пожалуста((((((((((((((((

Prisoner 18-02-2009 15:21 1042314

Доброго времени суток. И охота вам свое время тратить. Так не легче?

Tamaxta 18-02-2009 16:06 1042364

Легче, но все равно почему-то не получается(((((

Prisoner 18-02-2009 17:28 1042452

Вы полагаете кто-то сможет помочь при такой ("не получается((((") скудной информации? >_<
Опишите проблемы, что делали, что именно не получается.

Igor_I 18-02-2009 20:13 1042581

Цитата:

Цитата Tamaxta
Легче, но все равно почему-то не получается((((( »

Значит не судьба.

Tamaxta 19-02-2009 12:58 1043110

Листинги для рейтинга я взяла на сайте http://www.aether.ru/blog/2006/05/15/css-star-rating
Не получается появление звезд. Звезды делаю CoralDraw формат GIF.
Дальше я что пишу в HTML и CSS.



В HTML:

<HTML>
<HEAD>
<link href="style.css" type="text/css" rel="stylesheet" >
</HEAD>
<BODY>
<dl class="star-rating">
<dt>Рейтинг: 4 из 5 звезд</dt>
<dd>
<ol>
<li><a href="#" class="star1">Ужасно</a></li>
<li><a href="#" class="star2">Плохо</a></li>
<li><a href="#" class="star3">Нормально</a></li>
<li><a href="#" class="star4">Хорошо</a></li>
<li><a href="#" class="star5">Отлично</a></li>
</ol>
</dd>
</dl>

<dl class="star-rating">
<li class="current" style="width:80px"><a href="#" class="star1">Ужасно</a></li>
<li class="current" style="width:80px"><a href="#" class="star2">плохо</a></li>
<li class="current" style="width:80px"><a href="#" class="star3">Нормально</a></li>
<li class="current" style="width:80px"><a href="#" class="star4">Хорошо</a></li>
<li class="current" style="width:80px"><a href="#" class="star5">отлично</a></li>
</dl>


</BODY>
</HTML>


В CSS :



dl.star-rating ol {
margin: 0;
padding: 0;
list-style: none;
width: 100px;
height: 20px;
position: relative;
background: url(stars.png);
}
dl.star-rating li {
float: left;
margin: 0;
padding: 0;
}
dl.star-rating li a {
display: block;
width: 20px;
height: 20px;
text-indent: -9999px;
position: absolute;
text-decoration: none;
z-index: 10;
}
dl.star-rating li a:hover {
background: url(stars.png) left center;
left: 0;
z-index: 2;
}
dl.star-rating a.star1 {
left: 0;
}
dl.star-rating a.star1:hover {
width: 20px;
}
dl.star-rating a.star2 {
left: 20px;
}
dl.star-rating a.star2:hover {
width: 40px;
}

dl.star-rating a.star3 {
left: 60;
}
dl.star-rating a.star3:hover {
width: 80px;
}
dl.star-rating a.star4 {
left: 80px;
}
dl.star-rating a.star4:hover {
width: 100px;
}

dl.star-rating li.current {
background: url(stars.png) left bottom;
height: 20px;
z-index: 1;
}
dl.star-rating ol>li a:hover {
text-indent: 110px;
}

Porecla 19-02-2009 17:55 1043356

Можно через базу данных. Т.е у тебя будет количество проголосававших и сумма баллов. Если разделить одно на другое, то получится оценка. Потом нарисуешь картинки и будешь выводить их в зависимости от того какая оценка.

выводить можно, например так:

$r=$row["сумма балов"]/$row["количество проголосовавших"];
$r=intval($r);
printf ("<p Рейтинг: <img src='%s.jpg'></p>",$r);

Т.е если у тебя после деления получится 7 то выведется картинка 7.jpg с семью звёздочками.

Igor_I 19-02-2009 19:43 1043448

Tamaxta, посмотри исходный текст примера - http://www.aether.ru/example/stars/
HTML код:

<dl class="star-rating">
<dt>Рейтинг: 4 из 5 звезд</dt>
<dd>
<ol>
<li><a href="#" class="star1">Ужасно</a></li>
<li><a href="#" class="star2">Плохо</a></li>
<li><a href="#" class="star3">Нормально</a></li>
<li><a href="#" class="star4">Хорошо</a></li>
<li><a href="#" class="star5">Отлично</a></li>
</ol>
</dd>
</dl>

<dl class="star-rating">
<li class="current" style="width:80px"><a href="#" class="star1">Ужасно</a></li>
<li class="current" style="width:80px"><a href="#" class="star2">плохо</a></li>
<li class="current" style="width:80px"><a href="#" class="star3">Нормально</a></li>
<li class="current" style="width:80px"><a href="#" class="star4">Хорошо</a></li>
<li class="current" style="width:80px"><a href="#" class="star5">отлично</a></li>
</dl>

Получается что эти вещи взаимоисключающие.
И ещё
Цитата:

Избежать указания ширины похоже не удастся. Вычислить ее придется на серверной стороне, умножив количество баллов на ширину звезды — на 20 пикселей.
То есть для первой звезды будет width:20px, для второй - 40px и т.д.
Без серверной части работать не будет. То есть нужна обрботка скрипта PHP.


Время: 00:09.

Время: 00:09.
© OSzone.net 2001-