0

Fancybox2に問題があります。あるギャラリー画像から別のギャラリー画像への移行中に、ごくわずかな透明度があります。彼らのサイトでその大まかな例を見ることができます(画像ギャラリーの例、2行目):http ://fancyapps.com/fancybox/#examples 画像が次の画像に移行すると、非常に短時間。

そうでなければ、これは大きな問題にはなりませんが、私のWebサイトの1つに、非常によく似た2つの画像があり、それらはゆっくりとした「フェード」遷移効果を持っているため、一種のモーフィングバックのように見えます。前方へ。ここでは、遷移が発生したときに画像の背後にあるすべてのWebサイトのテキストを確認できるため、問題は非常に顕著です。fancybox .cssと.jsでさまざまな変更を試みましたが、どれも役に立たないようです。

また、問題のない古いFancybox 1.xを使用してみましたが、クロスフェードがないため、次の画像がフェードインし始める前に画像が完全にフェードアウトします。したがって、使用できません。そのいずれか。

透明度のわずかな閃光の原因が何であるかを誰かが理解できれば、それは大いにありがたいです。ありがとう。

4

2 に答える 2

1

さて、私はついにそれを理解したので、他の誰かが疑問に思っている場合に備えて、これをここに置きます。fancybox .jsファイルの次のセクションで、不透明度を0.1から1.0に変更する必要があります。

changeOut: function () {
        var previous  = F.previous,
            effect    = previous.prevEffect,
            endPos    = { opacity : 1.0 },
            ...

このようにして、古い画像がフェードアウトし始めたときに、次のギャラリー画像がすでに表示されます。そして明らかに、これは「フェード」トランジションのある同じサイズの画像にのみ使用する必要があるため、必要なときにロードできるように、.jsファイルのコピーに変更を加える必要があります。

編集:また、「changeIn」関数の「startPos.opacity」を0.1から0.0に変更して、遷移の開始をさらにスムーズにすることができます。

于 2013-02-26T20:04:01.957 に答える
0

fancyboxのWebサイトで参照している例では、fancyboxoverlayは透明であるため、常に背景を見ることができますが、fancyboxのオーバーレイの背景はいつでも単色に設定でき、(ボディの)背景は表示されません。

方法1(rgba)

$(".fancybox").fancybox({
    helpers: {
        overlay: {
            css: {
                'background': 'rgba(64, 64, 64, 1)'
            }
        }
    }
});

...最後の数値はオーバーレイの透明度を設定するため、フェードトランジションが遅いかどうかに関係なく、 1 =完全なソリッド(ボディの背景は表示されません)になります。

JSFIDDLEを参照してください

方法2(16進数)

$(".fancybox").fancybox({
    helpers: {
        overlay: {
            css: {
                'background': '#4a4a4a'
            }
        }
    }
});

... 16進カラー値を設定すると、fancyboxのオーバーレイは完全に塗りつぶされます(ボディの背景は表示されません)。

JSFIDDLEを参照してください

于 2013-01-22T00:44:51.817 に答える