Używanie zoomu Jackmoore: http://www.jacklmoore.com/zoom/ https://github.com/jackmoore/zoomJackmoore zoom 07.01.15: Włącz zoom na urządzeniu dotykowym z podwójnego dotknięcia
chciałbym używać podwójnego kurek na urządzeniach dotykowych, aby włączyć efekt powiększenia. Powodem jest używanie karuzeli, której używam (karuzela OWL), ponieważ obrazy mają także funkcję machnięcia, a Zoom działa na urządzeniu dotykowym, dotykając i przeciągając obraz, co jest w konflikcie z przesunięciem.
Podobnie jak w miejscu Topman robi dla telefonu komórkowego: http://www.topman.com/en/tmuk/product/clothing-140502/mens-blazers-5369753/black-textured-slim-fit-tuxedo-jacket-5390835?bi=0&ps=20
to jest link do pliku JS: https://github.com/jackmoore/zoom/blob/master/jquery.zoom.js
mogę uzyskać to do pracy na podwójne kliknięcie na nie urządzenia dotykowego:
if (settings.on === 'toggle') {
$source.on('dblclick.zoom',
function (e) {
if (clicked) {
stop();
} else {
start(e);
}
clicked = !clicked;
}
);
Ale trzeba dostosować kod dla ustawień dotyku, wierzę, że zmiana tej części:
// 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();
}
});
}
Może dodanie podwójnego podsłuchiwacza z czymś takim jak Touchy: https://github.com/yairEO/touchy może załatwić sprawę. Udało mi się go teraz rozpoznać po podwójnym kliknięciu, ale nie po to, by uruchomić funkcję powiększania.
Nie możesz po prostu użyć $ (zatrzymaj obiekt kontenera) .trigger ("niezależnie od wydarzenia"), gdy podwójne dotknięcie dzieje? Hipotetycznie: $ (container) .on ("doubletap", function() {this.trigger ("hover/grab/etc")}) –