Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > функция fadeTo на Opere


Автор: MaXL 21.4.2009, 18:09
Необходимо реализовать плавное появление и затухание, определённых объектов на странице, при наведение на них мышкой.
Решил реализовать при помощи jQuery, и написал следующее:
Код

SPEED = 500
//.....
jQuery("#more img").hover(function(){jQuery(this).fadeTo(SPEED, 0);});
jQuery("#more img").mouseout(function(){jQuery(this).fadeTo(SPEED, 1);});
//.....

Такое работает в IE и в Firefox'е. А вот Opera почему-то не хочет с этим нормально работать.
Кто с таким сталкивался помогите чем-нибудь, где именно косяк, и какое решение здесь можно применять ?
P.S. использую jQuery потому что на сайте с помощью этой библиотеки и так много чего сделано, поэтому не хотелось бы переписывать(либо подгрудать ещё какую-нибудь библиотеку).

Автор: ksnk 21.4.2009, 18:32
Все работает в Опере 9.64. Разве что я бы написал 
Код

jQuery("#more img").hover(
    function(){jQuery(this).stop().fadeTo(SPEED, 0.01)}
  ,
    function(){jQuery(this).stop().fadeTo(SPEED, 0.99)}
);

  • hover получает 2 параметра.
  • stop для того, чтобы не возникали идиотские анимашки, если повозюкать мышом по нескольким картинкам часто и много.
  • а показывать и скрывать "не до конца" - это, возможно уже предрассудки, но я как-то напарывался на случай, когда opacity:0 считалось каким-то особым состоянием и некоторые сообщения пролетали мимо контрола. Сейчас, впрочем,  уже не упомню точно откуда такой предрассудок взялся ;-)

Автор: MaXL 24.4.2009, 05:23
ksnk, спасибо. Действительно, но последней версии Oper'ы всё работает как надо.
Я просто проверял на какой-то очень старой, 9.24..чтоле, и там ничего не работало. smile
Ну и спасибо за stop(), я не знал про эту функцию smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)