3

私のサイトには、ストップ スクロールの視差効果があります。スクロールを停止するために使用するコードは次のとおりです。

if ( parseInt($("div#bg").css("top"), 10) <= -0 ) {
    $('#content').css('top', (-0) + 'px');
    $('#logo').css('margin-top', (-142) + 'px');
}

これは、Chrome、Firefox、および Opera では問題なく機能しますが、Safari ではあまり機能しません。Safari で使用する別のコードはありますか? スクロールに関しては、Safari にバグがあることは知っていますが、それに対する答えを見つけることができませんでした。Safariでも動作するようにする回避策はありますか? または、コードを実行できるエディタのようなものですか?

4

1 に答える 1

1

まず、レイアウトに問題があります。あなたの作品ギャラリーが Safari で見られないからです。確かに、すべてのギャラリー要素はメイン div 内の個々の要素であり、コンテナーがないため、制御が非常に困難な状況になる可能性があります。

話題に戻る

parseInt($("div#bg").css("top"), 10) 

NaN を返します。これが問題になる可能性があります。#bg の一番上の値は「auto」に設定されているため、最初の (および他のすべての文字:D) は数値ではなく CHAR であるため、parseInt() は NaN を返します。

コードは Chrome で動作しますが、これは JavaScript エンジンがもう少し弾力性があるためです。

提案: Skrollr を見たことがありますか? これは、視差効果のためのオープン ソースの jquery ライブラリです。それは本当によく書かれており、ここであなたの一日を本当にやり遂げることができるようです.

http://prinzhorn.github.io/skrollr/

于 2013-11-03T22:30:32.657 に答える