Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

23.03.2010, 19:45
|
|
Новичок
Регистрация: 23.09.2009
Сообщений: 6
Провел на форуме: 319333
Репутация:
0
|
|
Бегущая строка
Нужен скрипт бегущей строки,только не простой,а что бы на сайте была папка,например site.ru/papka/ , а в этой папке лежали текстовые файлы например с анекдотами.Скрипт рандомно выбирает текстовый файл и выводит его содержимое у виде бегущей строки.
|
|
|

23.03.2010, 21:12
|
|
Он хакер.
Регистрация: 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>
|
|
|

24.03.2010, 09:32
|
|
Новичок
Регистрация: 23.09.2009
Сообщений: 6
Провел на форуме: 319333
Репутация:
0
|
|
Спасибо за скрипт,но появилась проблема:если просто его сохранить в отдельном файле,то он работает,а если вписать в код другого HTML файла,то в бегущей строке бежит "= $count){ break; } } echo $lenta; ?>"
|
|
|

24.03.2010, 10:08
|
|
Новичок
Регистрация: 11.03.2010
Сообщений: 11
Провел на форуме: 52681
Репутация:
0
|
|
помести на отдельную и инклудани на пагу куда надо
|
|
|

24.03.2010, 11:58
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме: 4137635
Репутация:
2407
|
|
вписать в код другого HTML файла
Это не HTML-файл, там есть часть кода на PHP, то есть файл, в который вставляешь, должен иметь расширение .php.
|
|
|

24.03.2010, 17:24
|
|
Новичок
Регистрация: 23.09.2009
Сообщений: 6
Провел на форуме: 319333
Репутация:
0
|
|
Сообщение от d_x
Это не HTML-файл, там есть часть кода на PHP, то есть файл, в который вставляешь, должен иметь расширение .php.
а если ничего если у меня DLE и формат файлов .tpl?
|
|
|

24.03.2010, 17:33
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме: 4137635
Репутация:
2407
|
|
С DLE не работал, но видимо, что tpl-файлы там не могут содержать php-код.
|
|
|

24.03.2010, 19:33
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
При работе с dle придется делать как и положено с шаблонизатором - заменой ключа на значение.
То есть, выносишь php скрипт куда-то в отдельное место,например в подключаемые плагины, выполняешь, убираешь echo результата,делаешь в шаблоне тег, например {anekdot}, и заменяешь его на результат выполнения скрипта. По другому никак, только чистый изврат с eval"ом.
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|