「ページをリロードすると、iOSのSafariだけアニメーションが動かない」と報告を受けたので、調べた結果、
$(window).on(‘load’, function(){}) が同じ関数内で2回使われていると、うまく動かないようでした。よく考えたら確かにおかしい書き方なんですが、他のブラウザでは動いてしまうので、なかなか気づけませんでした。
正確には、僕のコードは以下のようになっていたところ、
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$(function () { // When Document Ready animation(); }); function animation() { $(window).on('load scroll', function () { // ロードおよびスクロールしたときに動くアニメーション }); $(window).on('load', function () { // ロードしたときに動く別のアニメーション }); } |
こう直すと動きました↓
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$(function () { // When Document Ready animation(); }); $(window).on('load',function(){ // When Window Load animation2(); }); function animation() { $(window).on('load scroll', function () { // ロードおよびスクロールしたときに動くアニメーション }); } function animation2() { // ロードしたときに動く別のアニメーション } |
「ロードしたときに動く別のアニメーション」を、分離したわけですね。
現場からは以上です。