перевод числа в рейтинг (звезды) 
		
		
		
		подскажите как перевести числа в кол-во звезд (рейтинг) 
	есть числа от 1 до 5. мне надо в зависимости от того какое число выводить от 1 до 5 звезд. Подскажите как такое можно сделать малой кровью?  | 
	
		
 найти готовое решение 
	 | 
	
		
 что то не могу найти готовое может не правильно ищу. Можно ссылочку на такой вариант готового 
	 | 
	
		
  | 
	
		
 тут идет именно полноценный рейтинг а мне просто надо перевод из цифр в звезды. 
	Т.е если <div id="1">1</div> - вывести 1 звезду если <div id="2">2</div> - 2 звезды ну и т.д до 5 звдезд  | 
	
		
  | 
	
		
 djonA, 
	:write: Вариант ))) 
<!DOCTYPE HTML>
<html>
<head>
 <meta charset="utf-8" />
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <script type="text/javascript">
$.fn.replaceText = function (e, f, g) {
       return this.each(function () {
           var a = this.firstChild,
               c, b, d = [];
           if (a) {
               do 3 === a.nodeType && (c = a.nodeValue, b = c.replace(e, f), b !== c && (!g && /</.test(b) ? ($(a).before(b), d.push(a)) : a.nodeValue = b));
               while (a = a.nextSibling)
           }
           d.length && $(d).remove()
       })
   };   $(window).load(function () {
   $("body div").replaceText( /\d+/gi, function f(a)
{
return Array(++a).join('<img src="http://javascript.ru/forum/images/smilies/tongue.gif" alt="">')
} );
    });
  </script>
<title></title>
</head>
<body>
 Т.е если <div id="1">1</div> - вывести 1 звезду
 если <div id="2">2</div> - 2 звезды
</body>
</html>
 | 
	
		
 <div id="rating"></div> 
var elem = '', rating = 5; //Колличество звёзд
for(i=0;i<rating;i++) elem += '<img alt="" src="изобрежение звёзды" />';
document.getElementById('rating').innerHTML = elem;
 | 
	
		
 Спасибо все супер работает 
	 | 
	
		
 Цитата: 
	
 А не для всей страницы как сейчас.  | 
	
		
 Цитата: 
	
 для медитации => Селекторы  | 
	
		
 Всем привет. 
	А если у меня рейтинг имеет вот такой вид: <div id="1">2,3</div> <div id="2">3,3</div> То есть не целое число. Если использовать пример выше, то выводится вот так: :) :) ,:) :) :) Как этого избежать? (Сделать рейтинг целым числом - не предлагать)  | 
	
		
 Цитата: 
	
 или вариант 
<!DOCTYPE HTML>
<html>
<head>
 <meta charset="utf-8" />
<style type="text/css">
div.hide{
  background: url(http://javascript.ru/forum/images/smilies/tongue.gif);
  height: 20px;
 }
</style>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <script type="text/javascript">
$(window).load(function () {
       $("body div").html(function () {
           var num = $(this).html()
           num = +$.trim(num).replace(",", ".") * 20;
           $(this).addClass('hide').width(num)
           return ''
       })
   });  </script>
<title></title>
</head>
<body>
<div id="1">2,3</div>
<div id="2">3,3</div>
</body>
</html>
 | 
	
		
 Если цифры рейтинга падают в страницу не с кондачка, то значит в том месте где они берутся надо заменить цифры на картинки и не сношать себе моск подвигами Херакла. 
	Цитата: 
	
 На который вешается то или иное представление: звезды, бары, пироги, графы и тп. Например rating_star() знает где картинка со звездами, какого она размера и сколько занимает 1 звезда. Все что остается сделать это вернуть element с фоном из звезд и шириной в пикселях равной вычисленному количеству звезд на ширину звезды. Или инвариант: вернуть элемент фиксированной ширины в который фон задвинут на Х пикселов которые ест произведение ширины звезды на количество звезд.  | 
	
		
 kostyanet рейтинг парсится. 
	рони и Дзен-трансгуманист спасибо вам. У меня возник новый вопрос, как на основе этого всего приписывать слова? Допустим рейтинг стоит 4,5(рейтинг от 1 до 5) и хотелось бы, чтобы выглядело вот так: 
<style>
.mark{background: #A8D12E;
border-radius: 2px;
color: #FFFFFF;
display: block;
float: right;
font-family: "Roboto", "Arial";
font-size: 26px;
font-weight: 100;
height: 50px;
line-height: 31px;
margin-left: 2px;
position: relative;
text-align: center;
width: 60px;}
span.title { 
background: rgba(0, 0, 0, 0.102);
bottom: 0px;
display: block;
font-size: 12px;
font-weight: 300;
height: 18px;
left: 0px;
line-height: 16px;
position: absolute;
right: 0px;
text-align: center;
width: 100%;
}
</style>
<body>
<div class="mark">
  8.7
  <span class="title">Отлично</span>
</div>
Или вот картинка вот картинка: ![]() Если 5, то Лучшее если 4-4,9 то Отлично если 3-3,9 то Хорошо если 2-2,9 то Не очень если 1-1,9 то Плохое  | 
	
		
 FaustL, 
	:write: 
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>
<style>
.mark{background: #A8D12E;
border-radius: 2px;
color: #FFFFFF;
display: block;
float: right;
font-family: "Roboto", "Arial";
font-size: 26px;
font-weight: 100;
height: 50px;
line-height: 31px;
margin-left: 2px;
position: relative;
text-align: center;
width: 60px;}
span.title {
background: rgba(0, 0, 0, 0.102);
bottom: 0px;
display: block;
font-size: 12px;
font-weight: 300;
height: 18px;
left: 0px;
line-height: 16px;
position: absolute;
right: 0px;
text-align: center;
width: 100%;
}
</style>
<body>
<div class="mark">0</div>
<div class="mark">0.75</div>
<div class="mark">1.33</div>
<div class="mark">2.5</div>
<div class="mark">3.8</div>
<div class="mark">4.4</div>
<div class="mark">4.9</div>
<div class="mark">5</div>
<script>
   var rus = ['Плохо', 'Не очень', 'Хорошо', 'Отлично', 'Лучшее'];
   var stars = [2, 3, 4, 5];
   [].forEach.call(document.querySelectorAll('.mark'), function (mark) {
       var span = document.createElement('span'),
           num = +mark.firstChild.nodeValue,
           str = '';
       for (var i = 0; i < stars.length; i++) {
           if (num < stars[i]) break
       }
       str = rus[i];
       span.className = 'title';
       span.appendChild(document.createTextNode(str))
       mark.appendChild(span);;
   });
</script>
</body>
</body>
</html>
 | 
	
		
 Супер! Спасибо! 
	 | 
	
		
 Цитата: 
	
 Скачал себе зип, во время нажатия на звездочку-оценку, картинка прогрузки - "ajax-loader" - не останавливается прогружаться, как на примере (на сайте). Почему так?  | 
| Часовой пояс GMT +3, время: 18:44. |