2013-07-15 2 views
2
jQuery(function() { 
      jQuery('#rightbar').bind('mouseenter',function(){ 
        jQuery(this).stop().animate({right: 0}, {duration:600}); 
      }); 
      jQuery('#rightbar').bind('mouseleave',function(){ 
        jQuery(this).stop().animate({right: '-150px'}, {duration:600}); 
      }); 
     }); 

Хотя я использую эту функцию на своем веб-сайте, она работает правильно во всех других браузерах, кроме firefox (последняя).jQuery animate не работает правильно в firefox

Когда я наводил указатель на div #rightbar, он перемещается влево вместо перехода вправо как мой сценарий. проверить на Chrome и frefox:

В Chrome, при наведении курсора, правильно приписывать изменение от: -150 -> 0

Но на светлячок, когда это зависания право изменить атрибут -150 -> -170 .. .etc.

Я не знаю, почему, может быть, это ошибка firefox (?).

С нетерпением жду вашей помощи.

Спасибо!

P/s: Вы можете проверить здесь: http://goo.gl/SChFo

ответ

4

Я сделал некоторые исследования, и, похоже, это ошибка в FireFox:

https://bugzilla.mozilla.org/show_bug.cgi?id=844178

Вы можете это исправить, если вы используете min-width вместо width для вашего .rightbar (По крайней мере, для firefox, но, честно говоря, я должен сказать, что у меня не было времени прямо сейчас, чтобы проверить, будет ли это работать в перекрестном браузере)

Вот подобный вопрос с той же проблемой:
css jquery position fixed element on the right. animate BUG in Firefox

Этот вопрос делает его более ясным, что это проблема FF, потому что значение right не прикоснулся, но только изменяется значение bottom, но с такой же эффект, как в вашем примере.

+0

Когда я перехожу на min-width, мой div становится слишком большим ... –

+0

Я понял, потому что мой css ошибается. Огромное спасибо! –

+0

@ ĐàoMinhHạt проблема 'position' фиксирована в ff 23 (бета). Так что это только версия с 19 по 22. –

Смежные вопросы