Простой Jquery text slideshou

Тема в разделе "Веб-дизайн", создана пользователем SysteMorgan, 23 авг 2010.

Статус темы:
Закрыта.
Модераторы: zek24
  1. SysteMorgan

    SysteMorgan Постоялец

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

    www.advokats.ru

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

    Зарание спасибо
     
  2. horpah

    horpah

    Регистр.:
    21 июн 2010
    Сообщения:
    199
    Симпатии:
    55
    Цитата, я полагаю, должна быть как в шапке на том сайте.
    Значит выделяешь облать под нее <div id="quot"> тегом например.
    Далее цитата непосредственно в него вставляется $("#quot").text("цитата");
    Но цитата, я думаю, берется откуда-то по событию какому-то (является интерактивным элементом), иначе смысла делать ее через ЖК никакого. Объясни, как ты ее хочешь получать (менять через время какое-то или по нажатии чего-то...), и я тогда (или кто-то другой) помогу с ее получением через AJAX например. Еще скажи сколько всего примерно будет цитат (5-7 или десятки), чтобы определится как их получать: по мере надобности, или все сразу и менять рандомно.
     
  3. SysteMorgan

    SysteMorgan Постоялец

    Регистр.:
    23 май 2009
    Сообщения:
    51
    Симпатии:
    18
    Да точно как в шапке. Все цитаты будут в одном текстовом файле, цитаты окло 50, цитата должна появляться как слайд автоматически за каждую 10 секунду. так потом автор цитаты тоже должна быть показано.
     
  4. horpah

    horpah

    Регистр.:
    21 июн 2010
    Сообщения:
    199
    Симпатии:
    55
    Пишем 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 получилась. не проверял работоспособность и корректность синтаксиса, но думаю будет все ОК.
    Код не полный т.к. некоторых данных не хватает, но, думаю, дополнишь сам.
     
    SysteMorgan нравится это.
  5. SysteMorgan

    SysteMorgan Постоялец

    Регистр.:
    23 май 2009
    Сообщения:
    51
    Симпатии:
    18
    Все нормально. Но не много дополнение сделал. В общем говоря все ок спасибо.
     
Статус темы:
Закрыта.