ユーザーが特定のポイントより下にスクロールすると、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;
}