के साथ ज़ूम करने के लिए पिंच करें मैं Google मानचित्र में ठीक तरह से चुटकी-टू-ज़ूम जेस्चर को लागू करने की कोशिश कर रहा हूं। मैंने स्टीफन वुड्स - "Creating Responsive HTML5 Touch Interfaces” द्वारा एक बात देखी - इस मुद्दे के बारे में और तकनीक का उल्लेख किया। विचार लक्ष्य तत्व के परिवर्तन तत्व को (0, 0) और स्केल के बिंदु पर स्केल सेट करना है। फिर छवि को ट्रांसफॉर्म के बिंदु पर केंद्रित रखने के लिए अनुवाद करें।CSS3
मेरे टेस्ट कोड स्केलिंग में ठीक काम करता है। छवि बाद के अनुवादों के बीच ठीक से ज़ूम इन और आउट हो जाती है। समस्या यह है कि मैं अनुवाद मानों की सही गणना नहीं कर रहा हूं। मैं स्पर्श घटनाओं के लिए jQuery और Hammer.js का उपयोग कर रहा हूँ। ट्रांसफॉर्म कॉलबैक में मैं अपनी गणना कैसे समायोजित कर सकता हूं ताकि छवि ट्रांसफॉर्म के बिंदु पर केंद्रित हो?
CoffeeScript
image = $('#test-resize')
hammer = image.hammer ->
prevent_default: true
scale_treshold: 0
width = image.width()
height = image.height()
toX = 0
toY = 0
translateX = 0
translateY = 0
prevScale = 1
scale = 1
hammer.bind 'transformstart', (event) ->
toX = (event.touches[0].x + event.touches[0].x)/2
toY = (event.touches[1].y + event.touches[1].y)/2
hammer.bind 'transform', (event) ->
scale = prevScale * event.scale
shiftX = toX * ((image.width() * scale) - width)/(image.width() * scale)
shiftY = toY * ((image.height() * scale) - height)/(image.height() * scale)
width = image.width() * scale
height = image.height() * scale
translateX -= shiftX
translateY -= shiftY
css = 'translateX(' + @translateX + 'px) translateY(' + @translateY + 'px) scale(' + scale + ')'
image.css '-webkit-transform', css
image.css '-webkit-transform-origin', '0 0'
hammer.bind 'transformend',() ->
prevScale = scale
मेरी बिल्ली thats! !! ?? –
दूसरा लिंक टूटा हुआ है। –
स्टीफन वुड्स से वाकई अच्छा बिंदु है: सीएसएस के साथ बदलते समय कोड में पूर्ण कुछ और नहीं करें (सामान लोड नहीं कर रहा है)। मेरी अपनी परियोजना में बहुत मदद की। – Hardy