2012-09-10 13 views
5

मैं चुटकी घटना का पता लगाने के लिए jQuery touchy प्लगइन का उपयोग कर रहा हूं ताकि उपयोगकर्ताओं को छवि पर ज़ूम इन/आउट करने की क्षमता मिल सके।चुटकी इशारे पर स्केलिंग छवि

 
var w = 800, 
    h = 600; 
$('img').on('touchy-pinch', function (e, $target, data) { 
    $(this).css({ 
     width: w * data.scale, 
     height: h * data.scale 
    }); 
}); 

कहाँ कस्टम डेटा वस्तु निम्नलिखित शामिल हैं::

  • पैमाने
  • previousScale
  • currentPoint
  • StartPoint
  • startDistance
यहाँ मेरी कोड का सार है

यह पहली चुटकी पर ठीक काम करता है, लेकिन एक बार मेरी उंगलियां स्क्रीन छोड़ देती हैं और फिर मैं इसे फिर से करने की कोशिश करता हूं, छवि फिर से स्केल करती है। मैं अपने हैंडलर को कैसे संशोधित कर सकता हूं ताकि छवि जारी रहे जहां इसे फिर से स्केल करने के बजाए छोड़ दिया गया हो? डेटा के पिछले स्केल का उपयोग करने में मदद नहीं मिली क्योंकि पिछलेस्केल को भी रीसेट हो जाता है।

उत्तर

4

समस्या यह है कि आप अपने वर्र्स डब्ल्यू और एच को उनके बाद के स्केल किए गए मानों, केवल सीएसएस पर रीसेट नहीं कर रहे हैं, इसलिए स्टाइल एक और स्केल इवेंट पर 800x600 पर वापस आती है। आपको एक सतत डब्ल्यू और एच की आवश्यकता है जो स्केल इवेंट पर w*data.scale और h*data.scale पर सेट हो।

संबंधित मुद्दे