画面が768px未満の場合は、製品ギャラリーのナビゲーションサムネイルを水平位置に移動する必要があります。Magento2 gallery afterLoadコールバック
このためには、ギャラリーが完全に読み込まれた後にトリガーされるコールバックに接続する必要があります。ギャラリーウィジェットがx-magento-init
メソッドを介して初期化されるときにこれを行う方法を
:
<script type="text/x-magento-init">
{
"[data-gallery-role=gallery-placeholder]": {
"mage/gallery/gallery": {
...
}
}
}
</script>
私が追加してみました:
<script type="text/javascript">
require(['jquery', 'mage/gallery/gallery'], function($, gallery){
console.log($('[data-gallery-role=gallery-placeholder]').data('gallery'));
});
</script>
をそして、それはundefined
を出力します。しかし、コンソールから(ギャラリーがロードされた後に)同じものを呼び出すと、fotorama APIメソッドを呼び出すことができるギャラリーオブジェクトが含まれています。
ギャラリーの初期化後に.data('gallery')
オブジェクトを取得するにはどうすればよいですか?
多くの感謝!
なぜCSSのメディアクエリを使用しないのですか? – madalinivascu
@ madalinivascuこれは非効率的ではないでしょうか? cssはすでにveritcal/horizontalポジショニングのためにあります。なぜ新しいルールを作成するのですか?それ以外に、彼らはギャラリーの振る舞いを変更するためのjavascriptメソッドを提供しています。私はそれらにアクセスする方法を学ぶ必要があり、その後は単なるコード行にすぎません。 –