Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   скрипт бегущей строки - как сделать строку непрерывной (https://javascript.ru/forum/dom-window/2516-skript-begushhejj-stroki-kak-sdelat-stroku-nepreryvnojj.html)

dansury 09.01.2009 04:33

скрипт бегущей строки - как сделать строку непрерывной
 
яваскрипт:
// настройка скорости
delay = 30;
step = 2;

is_start = true;
fullwidth = 1;
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 src="<?php bloginfo('template_directory'); ?>/scrolltopics.js" type="text/javascript"></script>

<style>

#scroll {width: 100%;

         white-space: nowrap;

         overflow: hidden;

         position: relative}

#scrolltext {position: absolute}

</style>







  <div style='width:100%'>



      <div id='scroll' onmouseover='stop_scroll()'

      onmouseout='continue_scroll()'>

       <div id='scrolltext'>
текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст 
</div></div>

это скрипт выглядит так: http://dvizh.org/?preview=1&template=new

подскажите, пожалуйста, как надо поправить код, чтобы строка не прерывалась?

alekciy 14.01.2009 00:14

Бегущие строки зло и за них нужно веб мастеров расстреливать в саду.

dansury 14.01.2009 01:16

спасибо за оригинальное решение, но оно мне не подходит.

alekciy 14.01.2009 02:21

Да ты юмористь :D
К слову сказать я сайт посмотрел, но ни где означеной в заглавии бегущей строки на оном ресурсе не обнаружил.

Opera 9.61.

Istamendil 19.01.2009 17:09

Цитата:

Сообщение от alekciy
К слову сказать я сайт посмотрел, но ни где означеной в заглавии бегущей строки на оном ресурсе не обнаружил.

Аналогично. Firefox 3.0.5.

Это просто реклама сайта)))

alekciy 19.01.2009 18:29

Ну понятно. Ссылочную массу набиваем... и куда только смотри администрация?...

Андрей Параничев 20.01.2009 17:55

Девятого числа вроде строка была, так что вряд ли это такая завуалированная реклама.

Tort 01.10.2010 20:07

Даже из обыкновенного marquee можно сделать много разного::dance: http://a-cto.narod.ru/marquee/

Gozar 02.10.2010 15:23

бегущей строке место на помойке и тех кто будет их попрошайничать буду минусовать несчадно ;)

ps: исключение только если они мегадизайн шо пепец

yurik417 26.01.2013 04:54

Это плагин:
http://masscode.ru/index.php/k2/item/44-limarquee
может создавать непрерывную бегущую строку


Часовой пояс GMT +3, время: 16:06.