Простой Jquery text slideshou

Статус
В этой теме нельзя размещать новые ответы.

SysteMorgan

Постоялец
Регистрация
23 Май 2009
Сообщения
51
Реакции
18
Добрый вечер братаны. Искал в интернете 2 часа но не нашел. Я делаю сайт одного адвокатского бюро. Хочу поставить цитату как



но с помощью Jquery.

Зарание спасибо
 
Цитата, я полагаю, должна быть как в шапке на том сайте.
Значит выделяешь облать под нее <div id="quot"> тегом например.
Далее цитата непосредственно в него вставляется $("#quot").text("цитата");
Но цитата, я думаю, берется откуда-то по событию какому-то (является интерактивным элементом), иначе смысла делать ее через ЖК никакого. Объясни, как ты ее хочешь получать (менять через время какое-то или по нажатии чего-то...), и я тогда (или кто-то другой) помогу с ее получением через AJAX например. Еще скажи сколько всего примерно будет цитат (5-7 или десятки), чтобы определится как их получать: по мере надобности, или все сразу и менять рандомно.
 
Да точно как в шапке. Все цитаты будут в одном текстовом файле, цитаты окло 50, цитата должна появляться как слайд автоматически за каждую 10 секунду. так потом автор цитаты тоже должна быть показано.
 
Да точно как в шапке. Все цитаты будут в одном текстовом файле, цитаты окло 50, цитата должна появляться как слайд автоматически за каждую 10 секунду. так потом автор цитаты тоже должна быть показано.
Пишем JS код
Код:
quotes=0; // будем хранить число цитат
cquot=0;  // будем хранить текущую цитату
 $(document).ready(function(){  //вызовется при создании DOM , считай при загрузке страницы
   //получим число цитат 

   $.get(ajaxurl, // здесь УРЛ адрес скрипта обработчика
		{m : "getQn"}, //Параметры как у обычного ГЕТ, которых может  и не быть ?m=getQn
            function(data){			
			 if(data.status){  //обрати внимание!!!				
			    quotes=data.quotes;
				startQchanger();
			 }else {}
      	     },
			"json"
    	 );     
});
function startQchanger() //старт смены цитат
{
  if(quotes==0) return; //если нет цитат - зачем напрягать комп и канал.
  intervalID = setInterval(run, 10000); //10000ms интервал, run - стартуемая функция 
}
function run()
{
  $.get(ajaxurl, // здесь УРЛ адрес скрипта обработчика
		{m : "getQuote",cq : cquot}, //
            function(data){			
			 if(data.status){ //обрати внимание!!!					
			    $("#quot").text(data.text); // изменить цитату на полученную (//обрати внимание!!!)	
				cquot=data.next; //обрати внимание!!!	
			 }else {}
      	     },
			"json"
    	 );     
});
}
С клиентом все. теперь пишем обработчик запросов на PHP
PHP:
if($_GET['m']=='getQn') getQuotesCount(); // смотрим по $_GET['m'] что нужно вернуть
if($_GET['m']=='getQuote') getQuote(); 
function getQuotesCount()
{
  $file=file(ПУТЬ К ЦИТАТНОЙ БАЗЕ);
  
  // смотри на ключи. Они так же называются как свойства в JS объекта data
  // которые я пометил как "с особым вниманием"
  // json_encode доступна с PHP5.2 вроде, 
  // но хостинги его поддерживают на мой взгляд все,
  // чуть что делай перевод ручками или ищи в инете.
  
  echo json_encode(array('quotes'=>count($file),"status"=>1)); 
}
function getQuote()
{
  $current=isset($_GET['cq']) ? $_GET['cq'] : 0;
  $file=file(ПУТЬ К ЦИТАТНОЙ БАЗЕ); //
  $next=current+1;
  if($next>count(file)){
    current=0;
	$next=current+1;
  }
  
  $quote=iconv("ИЗ кодивроки","UTF-8",$file[$current]); // если кодировка не УТФ нужен конверт в нее, иначе можно пропустить эту строку
  echo json_encode(array('next'=>$next,"status"=>1,"text"=>$quote)); 
}

Вот такая связка JS+PHP получилась. не проверял работоспособность и корректность синтаксиса, но думаю будет все ОК.
Код не полный т.к. некоторых данных не хватает, но, думаю, дополнишь сам.
 
Все нормально. Но не много дополнение сделал. В общем говоря все ок спасибо.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху