ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Бегущая строка
  #1  
Старый 23.03.2010, 19:45
Аватар для sultan08
sultan08
Новичок
Регистрация: 23.09.2009
Сообщений: 6
Провел на форуме:
319333

Репутация: 0
Question Бегущая строка

Нужен скрипт бегущей строки,только не простой,а что бы на сайте была папка,например site.ru/papka/ , а в этой папке лежали текстовые файлы например с анекдотами.Скрипт рандомно выбирает текстовый файл и выводит его содержимое у виде бегущей строки.
 
Ответить с цитированием

  #2  
Старый 23.03.2010, 21:12
Аватар для m0Hze
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Код:
<script>
// настройка скорости
delay = 30;
step = 2;

is_start = true;
fullwidth = 0;
cpos = 0;
scrollw = 0;

function start_scroll()
{
  var scrolltext = document.getElementById('scrolltext');
  var scroll = document.getElementById('scroll');

  fullwidth = scrolltext.offsetWidth;
  scrolltext.style.left = scroll.offsetWidth;
  scrollw = scroll.offsetWidth;
  scrolltext.style.position = 'relative';
  
  myinterval = setInterval(do_scroll, delay);
}

function do_scroll()
{
  var scroll = document.getElementById('scroll');
  var scrolltext = document.getElementById('scrolltext');
  
  if (is_start)
  {
    cpos = scroll.offsetWidth;
    scrolltext.style.left = cpos;
    is_start = false;
  }
  else
  {
    cpos -= step;
    scrolltext.style.left = cpos;
    if (cpos < -fullwidth) { is_start = true; }
  }
}

function stop_scroll()
{
  clearInterval(myinterval);
}

function continue_scroll()
{
  myinterval = setInterval(do_scroll, delay);
}

function do_resize()
{
  var scroll = document.getElementById('scroll');
  newscrollw = scroll.offsetWidth;
  
  if (cpos >= 0) { absstp = scrollw - cpos; }
  else { absstp = scrollw + Math.abs(cpos); }

  oldprc = absstp / (scrollw + fullwidth);
  newlen = newscrollw + fullwidth;
  newabsstp = newlen * oldprc;

  if (newabsstp <= newscrollw) { cpos = newscrollw - newabsstp; }
  else { cpos = -(newabsstp - newscrollw); }

  scrollw = newscrollw;
}
</script>

<style>
#scroll {width: 100%;
         background-color: f0f0f0;
         white-space: nowrap;
         overflow: hidden;
         position: relative}
#scrolltext {position: absolute}
</style>

<body onload='start_scroll()' onresize='do_resize()'>

  <div style='width:100%'>

      <div id='scroll' onmouseover='stop_scroll()'
      onmouseout='continue_scroll()'>
       <div id='scrolltext'>

<?php
            $folder = './anek/'; // папка с анекдотами
            $pref = 'anek_'; // префекс у файлов
            $count = 1; // сколько всего брать за один раз
            @$files = scandir($folder);  // получаем содержимое папки
            shuffle($files); // мешаем массив
            foreach($files as $file){
                if(stristr($file,$pref) and $i < $count){
                    $i++;
                    $lenta .= file_get_contents($folder.$file).($i < $count ? ' | ' : '');
                }elseif($i >= $count){
                    break;
                }
            }
            echo $lenta;
        ?>
       </div>
      </div>

  </div>

</body>
 
Ответить с цитированием

  #3  
Старый 24.03.2010, 09:32
Аватар для sultan08
sultan08
Новичок
Регистрация: 23.09.2009
Сообщений: 6
Провел на форуме:
319333

Репутация: 0
По умолчанию

Спасибо за скрипт,но появилась проблема:если просто его сохранить в отдельном файле,то он работает,а если вписать в код другого HTML файла,то в бегущей строке бежит "= $count){ break; } } echo $lenta; ?>"
 
Ответить с цитированием

  #4  
Старый 24.03.2010, 10:08
Аватар для moko
moko
Новичок
Регистрация: 11.03.2010
Сообщений: 11
Провел на форуме:
52681

Репутация: 0
По умолчанию

помести на отдельную и инклудани на пагу куда надо
 
Ответить с цитированием

  #5  
Старый 24.03.2010, 11:58
Аватар для d_x
d_x
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме:
4137635

Репутация: 2407


По умолчанию

Цитата:
вписать в код другого HTML файла
Это не HTML-файл, там есть часть кода на PHP, то есть файл, в который вставляешь, должен иметь расширение .php.
 
Ответить с цитированием

  #6  
Старый 24.03.2010, 17:24
Аватар для sultan08
sultan08
Новичок
Регистрация: 23.09.2009
Сообщений: 6
Провел на форуме:
319333

Репутация: 0
По умолчанию

Цитата:
Сообщение от d_x  
Это не HTML-файл, там есть часть кода на PHP, то есть файл, в который вставляешь, должен иметь расширение .php.
а если ничего если у меня DLE и формат файлов .tpl?
 
Ответить с цитированием

  #7  
Старый 24.03.2010, 17:33
Аватар для d_x
d_x
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме:
4137635

Репутация: 2407


По умолчанию

С DLE не работал, но видимо, что tpl-файлы там не могут содержать php-код.
 
Ответить с цитированием

  #8  
Старый 24.03.2010, 19:33
Аватар для m0Hze
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

При работе с dle придется делать как и положено с шаблонизатором - заменой ключа на значение.
То есть, выносишь php скрипт куда-то в отдельное место,например в подключаемые плагины, выполняешь, убираешь echo результата,делаешь в шаблоне тег, например {anekdot}, и заменяешь его на результат выполнения скрипта. По другому никак, только чистый изврат с eval"ом.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[php] Новичкам: задаем вопросы _Great_ PHP, PERL, MySQL, JavaScript 16396 17.06.2010 21:19
Двенадцатая строка Top 500 — теперь за МГУ ixtor1 Новости мира "железа" 2 27.11.2009 20:24
Бегущая строка nonamez Схемы и программы 5 13.07.2009 15:47
Как на форумных движках фильтруется от тегов строка user-agent перед отображением? vvs777 Форумы 3 27.07.2005 23:52
Как законектится в базу к серверу, если есть такая строка...? dyx Уязвимости 2 04.07.2005 07:47



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ