2012-10-29 4 views
7

सेट करने के बाद मैं 'ज़ूम' ईवेंट कैसे प्रेषित कर सकता हूं, ज़ूम व्यवहार पर मैन्युअल रूप से स्केल सेट करने के बाद, मैं ज़ूम ईवेंट कैसे ट्रिगर कर सकता हूं?स्केल (d3, zoom.behavior)

var zoom = d3.behavior.zoom() 
    .scaleExtent([0.5, 4]) 
    .on('zoom', onzoom); 

// later on 
zoom.scale(2); 

https://github.com/mbostock/d3/wiki/Zoom-Behavior#wiki-scale

+0

क्या आपने [प्रोग्रामैटिक पैन + ज़ूम उदाहरण] (http://bl.ocks.org/3892928) देखा था? – mbostock

उत्तर

20

सबसे पहले, आप एक एसवीजी वस्तु को ज़ूम व्यवहार संलग्न करने के लिए की जरूरत है। साथ ही, आप ज़ूम ऑब्जेक्ट पर ज़ूम फ़ंक्शन को कॉल कर सकते हैं।

var zoom = d3.behavior.zoom() 
    .scaleExtent([0.5, 4]) 
    .on('zoom', onzoom); 

//svgElement is an actual element such as a rect or text or group 
svgElement.call(zoom); 

// later on 
zoom.scale(2); 
zoom.event(svgElement); 
+0

अंतिम पंक्ति 'zoom.event (svgElement)' होना चाहिए, इसके अलावा - सही! धन्यवाद! – johndodo