Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 12.06.2010, 08:42
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

Может решение , которое я придумал покажется не оптимальным, но я сделал так:
function show_menu(name)
{       
     if(name=='foto'){objectm = document.getElementById('foto-menu');}
     if(name=='main'){objectm = document.getElementById('main-menu');}
    var width = parseInt(objectm.style.width);
    var opacity = parseFloat(objectm.style.opacity);
			if(width <= 200) {
			clearTimeout(t2);  //очищение таймаута hide
      width += 2;
			objectm.style.width = width;
			if(opacity <= 0.9) {
			opacity += 0.01; 
      objectm.style.opacity = opacity;
			}
			t = setTimeout(arguments.callee,5); // собственный таймаут 				
			}
}

Всё работает прекрасно. Kolyaj, за подсказку.

Последний раз редактировалось Vulkan, 12.06.2010 в 09:27.
Ответить с цитированием
  #12 (permalink)  
Старый 12.06.2010, 13:09
Аватар для Geddar
Кандидат Javascript-наук
Отправить личное сообщение для Geddar Посмотреть профиль Найти все сообщения от Geddar
 
Регистрация: 23.05.2009
Сообщений: 100

создай переменную вне функции и меняй её значение до вызова функции
Кстати, в IE6 opacity криво (а точнее ни как не) работает, рекомендую изменять это свойство через jQuery, с ним вроде бы пашет
__________________
Обходя грабли ты теряешь драгоценный жизненный опыт!
Ответить с цитированием
  #13 (permalink)  
Старый 12.06.2010, 13:37
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

Сообщение от Geddar Посмотреть сообщение
создай переменную вне функции и меняй её значение до вызова функции
Кстати, в IE6 opacity криво (а точнее ни как не) работает, рекомендую изменять это свойство через jQuery, с ним вроде бы пашет
А для IE есть свойство filter: alpha(opacity=от 1 до 100), я просто его здесь не стал показывать чтобы код меньше был, спасибо за совет, может и понадобиться, ещё не решил.
Ответить с цитированием
  #14 (permalink)  
Старый 14.06.2010, 00:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

оно и в прежнем варианте неплохо работало ....малость подправить только
var t=[],t2=[];
function show_menu(name)
{   var objectm = document.getElementById(name+'-menu');
    var width = parseInt(objectm.style.width);
    var opacity = parseFloat(objectm.style.opacity);
	if(width <= 200) {
		   if(t2[name+'-menu'])	clearTimeout(t2[name+'-menu']);
                                  width += 2;
			objectm.style.width = width+"px";
			if(opacity <= 0.9) {
			opacity += 0.01;
            objectm.style.opacity = opacity;
			}
    t[name+'-menu'] = setTimeout("show_menu('"+name+"')",5);
			}
}


function hide_menu(name)
{
    var objectm = document.getElementById(name+'-menu');
    var width = parseInt(objectm.style.width);
    var opacity = parseFloat(objectm.style.opacity);
      if(width >= 0) {
   if(t[name+'-menu'])	clearTimeout(t[name+'-menu']);
	width -= 2;
	objectm.style.width = width+"px";
	  if(opacity >= 0) {
		opacity -= 0.01;
                       objectm.style.opacity = opacity;
			}
    t2[name+'-menu'] = setTimeout("hide_menu('"+name+"')",5);
			}
}
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу jQuery плагин для создания меню Zeboton jQuery 9 15.09.2014 15:31
анимированное меню на jquery глючит в ie leCadavreExquis jQuery 3 30.12.2009 17:30
Как "переключать" картинки в меню навигации? KirTer Элементы интерфейса 1 22.06.2009 11:49
Событие mouseout при наведении мыши на пункт меню WalterScott Events/DOM/Window 2 12.05.2009 22:05
Ссылка под слоем перекрывает слой Devider Общие вопросы Javascript 7 24.02.2009 23:18