7

当用户滚动到某个点以下时,我正在触发 css 位置更改(带有 css 过渡动画)。这在 pc 上的 chrome/safari 上运行良好,但在 iphone 上不一致。它有时会跳跃而不是动画,有时它什么也不做,偶尔会动画。

我尝试过使用 jQuery animate,添加 translate3d 并将元素放在它自己的层上,所有这些都产生了相同的结果。

这是代码:

    var logoUp = false;
    $(window)[0].addEventListener('touchmove', function(e) {
      console.log($(window).scrollTop());
      if ($(window).scrollTop() > 33) {
         if(!logoUp){
           $('.trig_logo').css({ 'top': '-90px' })
           logoUp = true;
         }


      } else {
           if(logoUp){
           $('.trig_logo').css({ 'top': '0px' })
           logoUp = false;
         }
      }
    })

CSS

.trig_logo {
    background:url(/img/head_foot/logo.png)  center 0px no-repeat;
    height:400px;
    position: absolute;
    width:100%;
    top:0px;
    -webkit-transition: 0.25s top;
}
4

1 回答 1

0

-webkit-transition对在 iPhone 上的作品感到惊讶。

通常你会看到类似的东西:

-webkit-transition: .25s top;
-moz-transition: .25s top;
-o-transition: .25s top;
transition: .25s top; /* <-- actual standard */

供应商前缀很神奇吧?(不是

于 2013-10-03T11:54:15.653 回答