Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.09.2010, 14:25
Аватар для DjTarik
Интересующийся
Отправить личное сообщение для DjTarik Посмотреть профиль Найти все сообщения от DjTarik
 
Регистрация: 08.03.2010
Сообщений: 24

2-е бегущие строки на одной странице
Написал скрипт бегущей строки:

// The document is loaded -->
		onload = function()
			{
				runingLine.iterator();
			}
		// -->
		
		var runingLine = {};
		
		runingLine.info = [
			['RunLineLrt', 50, 'ltr'],
			//['RunLineRtl', 50, 'rtl']
		];
		
		runingLine.iterator = function() {
			for (var i=0; i<runingLine.info.length; i++){
				var val_1 = runingLine.info[i][0];
				var val_2= runingLine.info[i][1];
				var val_3 = runingLine.info[i][2];
				runingLine.initial(val_1, val_2, val_3);
			}
		}
		
		// RuningLine initialization -->
		runingLine.initial = function (id, value, direction) {	// direction can be 'ltr' or 'rtl' -->
			obj = document.getElementById(id);
			wrapper = obj.parentNode;
			
			speed = Math.round(1000/value);	// quantity of pixels in a second -->
			obj.style.visibility = 'visible';
			
			if (direction == 'ltr') {
				posStart = wrapper.offsetWidth;	// start coordinate -->
				posFinish = -(obj.offsetWidth);	// finish coordinate -->
				runingLine.traffic.ltr();
			}
			else if (direction == 'rtl') {
				posStart = -(obj.offsetWidth);	// start coordinate -->
				posFinish = wrapper.offsetWidth;	// finish coordinate -->
				runingLine.traffic.rtl();
			}
			
			obj.onmouseover = function() {
				clearTimeout(timer);
			}
			obj.onmouseout = function() {
				if (direction == 'ltr') {
					runingLine.traffic.ltr();
				}
				else if (direction == 'rtl') {
					runingLine.traffic.rtl();
				}
			}
		}
		
		runingLine.traffic = new Traffic();
		
		function Traffic() {
			
			// RuningLine traffic 'left to right' -->
			this.ltr = function() {
				if (posStart >= posFinish) {
					posStart-=1;	// change coordinate -->
					obj.style.left = posStart+'px';
					timer = setTimeout(arguments.callee, speed);
				}
				else {
					posStart = wrapper.offsetWidth;	// start coordinate -->
					posFinish = -(obj.offsetWidth);	// finish coordinate -->
					runingLine.traffic.ltr();
				}
			}
			// -->
			
			// RuningLine traffic 'right to left' -->
			this.rtl = function() {
				if (posStart <= posFinish) {
					posStart+=1;	// change coordinate -->
					obj.style.left = posStart+'px';
					timer = setTimeout(arguments.callee, speed);
				}
				else {
					posStart = -(obj.offsetWidth);	// start coordinate -->
					posFinish = wrapper.offsetWidth;	// finish coordinate -->
					runingLine.traffic.rtl();
				}
			}
			// -->
			
		}


Инициализирую вот так:

runingLine.info = [
			['RunLineLrt', 50, 'ltr'],
			//['RunLineRtl', 50, 'rtl']
		];


Решил делать через массив и потом в цикле выхывать строки - не получается. Когда строка одна - всё работает. Как тоько их нужно сделать больше - не знаю как? Каков принцип таких задач? Где об этом можно почитать?

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 27.09.2010, 14:55
Ламер
Отправить личное сообщение для DooMer Посмотреть профиль Найти все сообщения от DooMer
 
Регистрация: 19.02.2010
Сообщений: 295

Сообщение от DjTarik Посмотреть сообщение
Написал скрипт бегущей строки:
с помощью ctrl+c ctrl+v писал ?
Ответить с цитированием
  #3 (permalink)  
Старый 27.09.2010, 15:38
Аватар для DjTarik
Интересующийся
Отправить личное сообщение для DjTarik Посмотреть профиль Найти все сообщения от DjTarik
 
Регистрация: 08.03.2010
Сообщений: 24

Нет, вышеописанное всё моё, могу рассказать и прокомментировать каждую строку, почему именно так и т.д.

Вопрос остаётся открытым...
Ответить с цитированием
  #4 (permalink)  
Старый 27.09.2010, 16:30
Ламер
Отправить личное сообщение для DooMer Посмотреть профиль Найти все сообщения от DooMer
 
Регистрация: 19.02.2010
Сообщений: 295

Неглубоко вникал, но помоему порблема в "obj". obj передавайте как параметр ф-ии, а не глобально в ltr и rtl
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jCarousel - два раза на одной странице new jQuery 0 22.04.2010 22:20
250 checkbox расположить на одной странице Ferroks (X)HTML/CSS 8 16.01.2010 15:27
Для события onCLick получить индекс строки и объект грида. progi2007 ExtJS 4 05.08.2009 11:31
Два одинаковых сценария на одной странице Genetics Общие вопросы Javascript 7 12.07.2009 01:46
Вставка текста с одной страницы в форму на другой странице Dima Общие вопросы Javascript 19 22.01.2009 17:35