Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.05.2012, 22:28
Новичок на форуме
Отправить личное сообщение для celeron Посмотреть профиль Найти все сообщения от celeron
 
Регистрация: 01.05.2012
Сообщений: 7

Обновление div-a по условию
Здравствуйте уважаемые форумчане.
Есть скрипт рейтинга (звезды) на jquery, но сложность в том, что оцениваются не статические объекты, а треки, которые все время меняются. Хотелось бы обновлять рейтинг не каждую секунду, а только когда начинается новая песня.

Есть php скрипт, который выводит название текущего трека track.php
Есть рейтинг vote.php

Подскажите пожалуйста как обновлять блок с рейтингом только когда меняется результат выполнения скрипта track.php а не так, каждые несколько секунд?
var auto_refresh = setInterval(
		function ()
		{
			$('#stars').load('vote.php');
		}, 5000
	);


То есть наверное при загрузке скрипта нужно сохранить в переменную текущий трек и проверять как-то в фоне не изменилась ли она и когда изменится выполнить обновление.
Заранее спасибо.

Последний раз редактировалось celeron, 01.05.2012 в 22:31.
Ответить с цитированием
  #2 (permalink)  
Старый 02.05.2012, 09:51
Аватар для Scepticus
Новичок на форуме
Отправить личное сообщение для Scepticus Посмотреть профиль Найти все сообщения от Scepticus
 
Регистрация: 27.04.2012
Сообщений: 9

А зачем переменную заводить? После первого вызова скрипта заполняешь значение элемента, а второй и последующие вызовы пусть сравнивают полученный от скрипта результат с тем, что хранится в элементе. Если они разные - то меняешь на новый...
Как-то так.
Ответить с цитированием
  #3 (permalink)  
Старый 02.05.2012, 12:27
Новичок на форуме
Отправить личное сообщение для celeron Посмотреть профиль Найти все сообщения от celeron
 
Регистрация: 01.05.2012
Сообщений: 7

и как такое реализовать?
Ответить с цитированием
  #4 (permalink)  
Старый 02.05.2012, 14:19
Аватар для Scepticus
Новичок на форуме
Отправить личное сообщение для Scepticus Посмотреть профиль Найти все сообщения от Scepticus
 
Регистрация: 27.04.2012
Сообщений: 9

Например:
setInterval(
	function (){
	     $.get('vote.php','',function(data)
             {
	        if($('#stars').html()!=data)
		    $('#stars').html(data);
	     });
	 }, 5000
);
Ответить с цитированием
  #5 (permalink)  
Старый 02.05.2012, 14:51
Новичок на форуме
Отправить личное сообщение для celeron Посмотреть профиль Найти все сообщения от celeron
 
Регистрация: 01.05.2012
Сообщений: 7

но от заданного интервала мы же так и не избавились
Ответить с цитированием
  #6 (permalink)  
Старый 02.05.2012, 15:00
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,576

Цитата:
Есть php скрипт, который выводит название текущего трека track.php
а эта инфа тоже по таймеру тянется на страницу без перезагрузки?
Ответить с цитированием
  #7 (permalink)  
Старый 02.05.2012, 15:05
Новичок на форуме
Отправить личное сообщение для celeron Посмотреть профиль Найти все сообщения от celeron
 
Регистрация: 01.05.2012
Сообщений: 7

Сообщение от micscr Посмотреть сообщение
а эта инфа тоже по таймеру тянется на страницу без перезагрузки?
эту инфу я каждую секунду обновляю, но там не критично,

а рейтинг просто не успеешь выставить за секунду да и заметно перезагрузку.
Ответить с цитированием
  #8 (permalink)  
Старый 03.05.2012, 18:53
Новичок на форуме
Отправить личное сообщение для celeron Посмотреть профиль Найти все сообщения от celeron
 
Регистрация: 01.05.2012
Сообщений: 7

Сообщение от Scepticus Посмотреть сообщение
Например:
setInterval(
	function (){
	     $.get('vote.php','',function(data)
             {
	        if($('#stars').html()!=data)
		    $('#stars').html(data);
	     });
	 }, 5000
);
Скажите пожалйста что с этим сделать можно?
мне нужно чтобы проверка происходила в фоне, чтоб блок не обновлялся каждые 5 сек, а только раз в несколько минут.
Ответить с цитированием
  #9 (permalink)  
Старый 04.05.2012, 08:33
Аватар для Scepticus
Новичок на форуме
Отправить личное сообщение для Scepticus Посмотреть профиль Найти все сообщения от Scepticus
 
Регистрация: 27.04.2012
Сообщений: 9

Сообщение от celeron Посмотреть сообщение
но от заданного интервала мы же так и не избавились
Ну есть еще вариант - по какому-либо событию на форме запрашивать сервер.
Сообщение от celeron Посмотреть сообщение
Скажите пожалйста что с этим сделать можно?
мне нужно чтобы проверка происходила в фоне, чтоб блок не обновлялся каждые 5 сек, а только раз в несколько минут.
А она и так в фоне происходит, по таймеру. Для другого временного промежутка укажите значение задержки в секундах*1000
Ответить с цитированием
  #10 (permalink)  
Старый 04.05.2012, 11:59
Новичок на форуме
Отправить личное сообщение для celeron Посмотреть профиль Найти все сообщения от celeron
 
Регистрация: 01.05.2012
Сообщений: 7

Сообщение от Scepticus Посмотреть сообщение
Ну есть еще вариант - по какому-либо событию на форме запрашивать сервер.

А она и так в фоне происходит, по таймеру. Для другого временного промежутка укажите значение задержки в секундах*1000
В этом и пробема, не знаю я промежутка этого, он не постоянный.
Проверять нужно каждую секунду, а обновить уже только когда нужно будет.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление страницы AndreyS AJAX и COMET 6 16.05.2011 15:55
проблема с div И animate g00000dman jQuery 2 24.03.2011 23:34
Закрытие прозрачного div при щелчке мыши в любой его области mav1 Элементы интерфейса 8 09.02.2011 19:25
Проблема с load в div и импортом стороннего кода с помощью javascript 1quick1 Events/DOM/Window 9 04.02.2011 13:16
animate, всплывающий div box сделать по центру zero_mod jQuery 1 27.10.2010 00:23