1

iPad でのみ発生する奇妙な問題があります。他のすべてのブラウザはこれを問題なく処理できるようですが、次のような状況があります。

if( parseFloat( $('#element1').css('opacity'),10).toFixed(2)!=userSetting1 ||
    parseFloat( $('#element2').css('opacity'),10).toFixed(2)!=userSetting2
  ){ return; };

... rest of function

つまり、基本的に、ユーザーのアクションからアニメーション化する要素がいくつかあります。ユーザーが関数の残りの部分を継続的に起動するのを防ぐために、要素が不透明度のアニメーション化を終了したかどうかをテストしています。usersetting1 と 2 は、ユーザーがそれぞれ要素 1 と 2 をアニメートするように設定する不透明度です。

したがって、基本的に、不透明度がユーザー設定の不透明度に達していない場合、関数から脱落します。iPad 以外のあらゆる場所でうまく機能し、parseFloat の問題に基づいています。

ユーザーが不透明度設定として 0.15、0.25 などを設定すると、parseFloat(,10).toFixed(2) が機能し、条件を適切にテストできるようになります。

ただし、ユーザーが不透明度に 1 または 0 を設定すると、すべてが台無しになります。どうやら iPad は 1.0 = 1 とは考えていないようです。

これを回避する方法はありますか?

4

2 に答える 2