当用户滚动到某个点以下时,我正在触发 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;
}