2017-09-13 17 views
0

私はFancyBox 3を使用していますが、ボタンバーにズームボタンを持っていますが、動作させられないようです。FancyBox 3ズームボタン

私はリンクを開くためにclickContentを使用しています。私はズーム機能を持っているので、コンテンツをクリックする代わりにボタントグルで何とか呼び出すことができました。

私はbtnTplでボタンを作って、 "fancybox-zoom"のクラスを与えました。

私はこれを試していない(と他の物事のカップルが、これらの作品のどれも)

afterLoad : function() { 
       $(".fancybox-zoom").click(function(current,event) { 
        return current.type === 'image' ? 'zoom' : false; 
       }); 
      }, 

/どのように私は、クリック機能または何私が間違っているの呼び出す必要がどこに? :)

EDIT

は実際に私は私が必要とする機能がscaleToActualであることが分かったが、私はそれこのようなボタンのonclickイベント作るとき:

<button onclick="$.fancybox.scaleToActual()" data-fancybox-zoom class="fancybox-button fancybox-zoom"></button> 

それはUncaught TypeError: $.fancybox.scaleToActual is not a functionエラーをドロップ...この方法に関するアイデア?

ご協力いただければ幸いです。

+0

fancyBoxしたがって、あなたがインスタンスへの参照を持っている必要があり、複数のインスタンスをサポートしています。次に例を示します。$ .fancybox.getInstance()。scaleToActual(); – Janis

答えて

1

それはこのようになります:

$('[data-fancybox]').fancybox({ 
    onInit : function(instance) { 

    // Make zoom icon clickable 
    instance.$refs.toolbar.find('.fancybox-zoom').on('click', function() { 

     if (instance.isScaledDown()) { 
     instance.scaleToActual(); 

     } else { 
     instance.scaleToFit(); 
     } 

    }); 
    } 
}); 

デモ - https://codepen.io/anon/pen/boGPZx

+0

迅速な返信とデモのおかげで、完璧に動作します、これは私が必要としていたものです。 :) – Nimue

関連する問題