jQuery animate не работает в chrome / safari / ie

Я написал несколько строк jQuery для анимации div влево / вправо в зависимости от движений мыши.

 $(".galleryNav").mousemove(function(e){
  $("#status").html(e.pageX +', '+e.pageY);

  if(e.pageX > 1100 && e.pageX < 1170){
   $(".galleryNav").animate({marginLeft:"-60px"},{queue: false, duration: 450});
  }

  if(e.pageX > 410 && e.pageX < 465){
   $(".galleryNav").animate({marginLeft:"10px"},{queue: false, duration: 450});
  }
 });

он отлично работает в firefox, но ничего не происходит в chrome, safari или IE.

Какие-либо предложения?


person a.bell    schedule 16.09.2010    source источник
comment
Какую версию jQuery вы используете?   -  person jmav    schedule 16.09.2010


Ответы (3)


На мой взгляд, он отлично работает с jQuery 1.4.2 + UI 8. Проверьте CSS.

person jmav    schedule 16.09.2010

У меня была именно эта проблема ... у div, который я анимировал, было position:absolute. Что исправило это для меня, так это установка top и left в css. Как только я добавил им бинго, это сработало!

person Sally    schedule 01.07.2011

Прекрасно работает в Chrome http://jsfiddle.net/x9eZY/, может быть, проблема в другом? Инкапсулировали ли вы свой скрипт в $(function(){}) вот так:

$(function(){
    $(".galleryNav").mousemove(function(e){
      $("#status").html(e.pageX +', '+e.pageY);

      if(e.pageX > 1100 && e.pageX < 1170){
       $(".galleryNav").animate({marginLeft:"-60px"},{queue: false, duration: 450});
      }

      if(e.pageX > 410 && e.pageX < 465){
       $(".galleryNav").animate({marginLeft:"10px"},{queue: false, duration: 450});
      }
    });
})  
​
person Kristoffer Sall-Storgaard    schedule 16.09.2010