とタッチデバイス上のトグルズーム:http://www.jacklmoore.com/zoom/ https://github.com/jackmoore/zoomJackmooreズーム1.7.15:Jackmooreによってダブルタップズームを使っ
私は、ズーム効果を切り替えるには、タッチデバイス上でダブルタップを使用したいと思います。その理由は、私が使用しているカルーセル(OWL Carousel)も画像にスワイプ機能があり、ズームは画像をタッチしてドラッグすることでタッチデバイスに作用します。これはスワイプと競合します。 TOPMANサイトと同様に
これは、JSファイルへのリンクです:私は、これは非タッチデバイス上でダブルクリックで動作するように取得することができますhttps://github.com/jackmoore/zoom/blob/master/jquery.zoom.js
:
if (settings.on === 'toggle') {
$source.on('dblclick.zoom',
function (e) {
if (clicked) {
stop();
} else {
start(e);
}
clicked = !clicked;
}
);
タッチ設定のコードを変更する必要がありますが、私はこの部分を変更すると信じています:
// Touch fallback
if (settings.touch) {
$source
.on('touchstart.zoom', function (e) {
e.preventDefault();
if (touched) {
touched = false;
stop();
} else {
touched = true;
start(e.originalEvent.touches[0] || e.originalEvent.changedTouches[0]);
}
})
.on('touchmove.zoom', function (e) {
e.preventDefault();
zoom.move(e.originalEvent.touches[0] || e.originalEvent.changedTouches[0]);
})
.on('touchend.zoom', function (e) {
e.preventDefault();
if (touched) {
touched = false;
stop();
}
});
}
Touchy:https://github.com/yairEO/touchyのようなものでダブルタップのリスナーを追加してもいいかもしれません。私は今すぐダブルタップを認識させることができたが、ズーム機能を開始しなかった。
$(ホバーコンテナオブジェクト).triggerダブルタップは起こりますか?仮説的に、$(コンテナ).on( "ダブルタップ"、function(){this.trigger( "ホバー/グラブ/ etc")}) –