2014-11-06 65 views
0

我有一个div#im1,其起始位置为left:-300px; 当点击按钮.abtme_link时,javaScript将其位置更改为443px; 它在Firefox以外的浏览器上工作;我在这个问题上看到了一些其他的帖子,但似乎无法使其工作; 其中一个线程得出结论认为,css转换在Firefox上不起作用,如果是这样的话;有没有解决方法?CSS转换不适用于Firefox

#im1{ 
    width:400px; 
    position:absolute; 
    left:-300px; 
    transition:all .9s ease .5s; 
    -webkit-transition:all .9s ease .5s; 
    -moz-transition:all .9s ease .5s; 
    -o-transition:all .9s ease .5s; 
    -ms-transition:all .9s ease .5s; 
} 

$('.abtme_link').click(function() { 
     $('#im1').css('left','443px'); 
    }); 
+1

你能为此生成一个jsFiddle吗? – jcera 2014-11-06 04:25:39

+0

请在这里添加html并创建小提琴 – 2014-11-06 04:30:16

+1

在我的mozilla中它的工作正常,动画也由mozilla支持。你可以提供你读过的链接吗? – 2014-11-06 04:31:01

回答

0

行,所以我已经找到了解决办法,

我在JS添加延迟功能,它的正常工作。不知道为什么或如何,但它的工作。

setTimeout(function(){ 
      $('.im1').css('left','443px'); 
     },10); 
+0

好的,这很有道理。延迟会导致CSS转换延迟。你也可以尝试在这里删除'.5s'延迟:'transition:all .9s ease /*.5s remove * /' – misterManSam 2014-11-06 05:59:38

+0

是的,我会那样做的。虽然我仍然不明白为什么我必须在mozilla中使用手动延迟,而不是在其他浏览器中使用手动延迟。 但是,至少它现在正在工作,我终于可以入睡了。 :) – 2014-11-06 06:03:04