Показать сообщение отдельно
  #1 (permalink)  
Старый 20.07.2010, 10:50
Аватар для RE_
RE_ RE_ вне форума
Интересующийся
Отправить личное сообщение для RE_ Посмотреть профиль Найти все сообщения от RE_
 
Регистрация: 20.07.2010
Сообщений: 16

Бегущая строка для всех браузеров
Цель - написать бегущую строку на 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%.

Последний раз редактировалось RE_, 20.07.2010 в 11:00.
Ответить с цитированием