Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.04.2012, 02:23
Аспирант
Отправить личное сообщение для vvsh Посмотреть профиль Найти все сообщения от vvsh
 
Регистрация: 07.11.2008
Сообщений: 84

Применение функции с таймаутом к нескольким элементам
Здравствуйте.
Такой вопрос, есть на странице куча картинок. Все изначально имеют прозрачность 0.7. при наведении вызывается функция increaseOpacity, а при убирании мышки decreaseOpacity.

var t, t2, op;
function increaseOpacity(elem, x) {
	op = (elem.style.opacity) ? parseFloat(elem.style.opacity) : parseInt(elem.style.filter) / 100;
	
	if (op < x) {
		clearTimeout(t2);
		op += 0.05;
		elem.style.opacity = op;
		elem.style.filter='alpha(opacity='+op * 100+')';
		t = setTimeout(function() { increaseOpacity(elem, x); }, 20);
	}
}

function decreaseOpacity(elem, x) {
	op = (elem.style.opacity) ? parseFloat(elem.style.opacity) : parseInt(elem.style.filter) / 100;
	
	if (op > x) {
		clearTimeout(t);
		op -= 0.05;
		elem.style.opacity = op;
		elem.style.filter='alpha(opacity='+op * 100+')';
		t2 = setTimeout(function() { decreaseOpacity(elem, x); }, 0);
	}
}


проблема в том что t и t2 в единственном экземпляре и при быстром проведении мышки по картинкам функции не успевают выполнится и прозрачность остается на неправильном уровне. что с этим делать?
заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 12.04.2012, 10:54
Аспирант
Отправить личное сообщение для vvsh Посмотреть профиль Найти все сообщения от vvsh
 
Регистрация: 07.11.2008
Сообщений: 84

все отлично. так и хотел но почему то не подумал привязать событие onmouseout прямо после выполнения появления.но есть одна проблема если я хочу понизить прозрачность до нуля то доходит до 0.04999 и продолжается бесконечное уменьшение
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
arguments вызвавшей функции mister_maxim Общие вопросы Javascript 4 12.10.2010 16:21
Применение функции для каждого элемента sergeygerasimov jQuery 2 26.11.2008 11:15