2016-10-21 14 views
0

多くのJPEGを持つサイトでは、fancyboxを使用しています。私は、単一の大きな画像ファイルを使用して、KBを減らすために少なくとも圧縮された最終的な最大表示サイズを少なくとも2倍にします。このテクニックはうまくいくように見え、各オリジナルのx2とx3バージョンを作るのに多くの時間を節約し、srcsetの使用を避けます。写真のサイズを変更するfancybox.js

ファンシーボックスを使用してズームした画像で表示される画像の代替ビューがありますが、ズームされた画像はファイルの実際のピクセルサイズで表示されるため、fancyboxの最終的な表示サイズを制御する方法を理解できません。 d画面上の画像を拡大した。

できますか?おかげで、ピーター・H.

(ズーム画像はすべて同じサイズではありません)

+0

「最終的な表示サイズを制御する方法がわかりません」とはどういう意味ですか? – Janis

+0

ファンシーボックスで表示されるイメージは、実際のピクセルサイズで表示されます。私は、例えば画像が実際のピクセルサイズの50%で表示されるようにしたいと思います。 – peterh

答えて

0

あなたがfancyBox3を使用している場合は、画像のサイズを変更するには、「後負荷」のコールバックを使用することができます。

$('[data-fancybox]').fancybox({ 
    afterLoad : function(instance, slide) { 
     if (slide.type === 'image') { 
      slide.width = slide.width * 0.5; 
      slide.height = slide.height * 0.5; 
     } 
    } 
}); 

将来のすべてのインスタンスにこれを適用したい場合は、それも可能です。例:

$(document).on('onComplete.fb', function(e, instance, slide) { 
    // Your code goes here 
}); 
+0

ありがとう、これは知っていると非常に便利です。私は現在v2.1.4を使用していますが、上記のコードにv3を加えた数ページを試してみます。ページにコードを1回だけ追加すると、そのページのfancyboxリンクのすべてのインスタンスでコールバックが機能しますか? – peterh

+0

選択したアイテムのみ。私は例で答えを更新しました。 – Janis

関連する問題