Цель - написать бегущую строку на JvScr, но чтобы она прокручивалась плавно, а не по буквам (ну надо по работе), поэтому большинство скриптов и простых (да и сложных) решений не подходят.
Также нужно чтобы строка была зациклена.
Нашел
это(этот скрипт похож, но источник был другой, сейчас не могу найти). Но прилагаемый пример работает только в Опере и IE. В ФФ и Chrome он не работает. После небольшой модификации, он стал работать, но дико тормозить.
Причем, в Опере скрипт грузит проц на 0%, после
запуска Хрома, скрипт начинает грузить проц на 25%
Утечек памяти вроде нет, есть утечка процессорного времени.
Очень хотелось бы знать
почему это вообще происходит?! Ну и как это устранить, конечно)
stop=false;
function anistop() {stop=true}
function anirun() {stop=false}
function start() {
var oContainer = document.getElementById('anic');
var oText = document.getElementById('ani');
var oText1 = document.getElementById('ani1');
var nWidth = -oText.offsetWidth;
var nPos = 0;
function OnTimer() {
oText.style.left = oText1.style.left = nPos + 'px';
if (!stop && nPos-- < nWidth)
nPos = 0;
}
window.setInterval(OnTimer, 20);
}
window.onload = start;
<div id="anic" onmouseover="anistop()" onmouseout="anirun()">
<pre id="ani">Много текста Много текста Много текста </pre><pre id="ani1">Много текста Много текста Много текста </pre>
</div>
#anic {
position:relative;
padding:0px;
width:100%; height:100%;
overflow:hidden;
}
#ani, #ani1 {
display:inline;
position:relative;
}
Понятно что я где-то что-то не удаляю, но где не могу найти. Я недавно начал в JvScr писать, тонкостей еще не знаю.
да, если несколько раз запускать скрипт в ФФ он и в Опере начинает грузить проц на 100%, причем грузит именно часть с перемещением (nPos--) или (--nPos), при наведении (строка останавливается) загрузка те самые 25%.