Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.02.2013, 20:33
Аспирант
Отправить личное сообщение для Makkssimka Посмотреть профиль Найти все сообщения от Makkssimka
 
Регистрация: 13.11.2012
Сообщений: 51

jquery.rating Рейтинг к каждой фотографии
Подключен данный плагин, вопрос в следующем есть галерея изображений supersized, как видно из кода при наведении на блок okoloPan появляется рейтинг, который получает через ajax рейтинг соответствующего изображения, и вставляем его в то место которое отвечает за отображение закрашенных звезд. Вопрос почему после первого отображения рейтинга (правильного для данного изображения) он начинает отображаться для каждого последующего изображения?

</script>
    
    <!--Панель задач-->

<div id="okoloPan">
<div id="panelZa">

	<div class="rating">
    	  <input id="val" type="hidden" name="val" value=""/>
             <input type="hidden" name="votes" value="2"/> 
             <input type="hidden" name="vote-id" value="voteID"/>
    </div>
    <script type="text/javascript">
	$(document).ready(function() {
		$('#zagr').hover(function() {
								$('#zagr').css('background-image', 'url(images/zagr.png)');
							  },
						  function() {
							  	$('#zagr').css('background-image', 'url(images/zagr2.png)');
							  });
		
		$('#redak').hover(function() {
								$('#redak').css('background-image', 'url(images/redak.png)');
							  },
						  function() {
							  	$('#redak').css('background-image', 'url(images/redak2.png)');
							  });
		
		
			$('#panelZa').hide();
			$('#okoloPan').mouseenter(function() {
					$('#panelZa').fadeIn(1000);
					
						var slide_com =  $("li[class*='activeslide']").attr("comment");
						var com = { com : slide_com };
						 $.ajax({
						 type: 'POST',
						 url: 'action/queryReiting.php',
						 data: com,
						 success: function(data) {
								
								 $('#val').attr('value', data[0]);
						 		 $('#zag').attr('href', data[1]);
								 
						 		$('div.rating').rating({
								image: 'images/stars.png',
        						loader: 'images/ajax-loader.gif',
								url: 'rating.php'
						});
						 },
						dataType: "json"
						
						
						});
				});
		$('#okoloPan').mouseleave(function() {
			$('.rating').html('');
			$('#panelZa').fadeOut(1000);
			
		});
		});
	</script>
Ответить с цитированием
  #2 (permalink)  
Старый 17.02.2013, 21:16
Аспирант
Отправить личное сообщение для Makkssimka Посмотреть профиль Найти все сообщения от Makkssimka
 
Регистрация: 13.11.2012
Сообщений: 51

Ссылка на описание скрипта
Ответить с цитированием
  #3 (permalink)  
Старый 17.02.2013, 21:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Makkssimka,
Вероятно
1. одинаковые id у всех звёзд
2. функция установки звёзд неиспользует замыкание.
Ответить с цитированием
  #4 (permalink)  
Старый 17.02.2013, 22:13
Аспирант
Отправить личное сообщение для Makkssimka Посмотреть профиль Найти все сообщения от Makkssimka
 
Регистрация: 13.11.2012
Сообщений: 51

А можно как-нибудь по-подробнее, а то я делаю только первые шаги, могу код самого скрипта выложить если нужно!!!
Ответить с цитированием
  #5 (permalink)  
Старый 17.02.2013, 22:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Makkssimka,
Возможно запрос на сервер только для первой фотографии происходит
var slide_com вот это меняется или всегда одно и тоже?
Ответить с цитированием
  #6 (permalink)  
Старый 17.02.2013, 22:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Makkssimka,
смотреть на месте проще было бы
Ответить с цитированием
  #7 (permalink)  
Старый 17.02.2013, 22:53
Аспирант
Отправить личное сообщение для Makkssimka Посмотреть профиль Найти все сообщения от Makkssimka
 
Регистрация: 13.11.2012
Сообщений: 51

var slide_com через alert выводится для каждой фотографии правильное значение, проверял!
Ответить с цитированием
  #8 (permalink)  
Старый 17.02.2013, 22:55
Аспирант
Отправить личное сообщение для Makkssimka Посмотреть профиль Найти все сообщения от Makkssimka
 
Регистрация: 13.11.2012
Сообщений: 51

Дело в том что, если не наводить для первой фотографии и перейти на второю, то выведется рейтинг соответственно второй, и опять для всех. То есть значение не сбрасывается!!!
Ответить с цитированием
  #9 (permalink)  
Старый 17.02.2013, 23:00
Аспирант
Отправить личное сообщение для Makkssimka Посмотреть профиль Найти все сообщения от Makkssimka
 
Регистрация: 13.11.2012
Сообщений: 51

Когда рейтинг виден в коде создается следующий блок:
<div class="vote-wrap">
<div class="vote-hover" style="padding: 0px 4px; height: 32px; width: 160px;">
<div class="vote-block">
<div class="vote-stars" style="height: 32px; width: 160px; background: url("images/stars.png") repeat scroll left top transparent;"></div>
<div class="vote-active" style="height: 32px; width: 160px; background: url("images/stars.png") repeat scroll left bottom transparent;"></div>
</div>
</div>
<div class="vote-result">2 голоса</div>
<div class="vote-success"></div>
</div>


На месте:
<input id="val" type="hidden" name="val" value=""/>
<input type="hidden" name="votes" value="2"/> 
<input type="hidden" name="vote-id" value="voteID"/>
Ответить с цитированием
  #10 (permalink)  
Старый 17.02.2013, 23:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Makkssimka,
тогда возможно сам плагин непосылает запрос без клика по звёздам . проинициировали его потом он работает на автомате без клика по звёздам новую информацию незапрашивает
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Звездный рейтинг на js nata031189 jQuery 3 22.04.2012 21:50