Comments (5)
@jlgrall It doesn't work 😢 Would you mind see this again?
from snap.svg.zpd.
This worked for me, (please notice I removed the respect for maxScale):
function zoomToBBox(elem) {
var zpdElement = Snap.select('#snapsvg-zpd-'+paper.id);
var width = paper.node.clientWidth,
height = paper.node.clientHeight,
filling = 0.9,
bbox = elem.getBBox(),
x = (bbox.x + bbox.x2) / 2,
y = (bbox.y + bbox.y2) / 2,
scale = filling / Math.max(bbox.w / width, bbox.h / height),
translateX = width / 2 - scale * x,
translateY = height / 2 - scale * y,
m = Snap.matrix(scale, 0, 0, scale, translateX, translateY);
zpdElement.transform(m);
// paper.animate({ transform: m }, 400, mina.easeout);
};
from snap.svg.zpd.
I created a PR for the code integrated into the plugin as seen here: https://github.com/justin-hackin/snap.svg.zpd/tree/zoomToElement
from snap.svg.zpd.
when I console.log(bbox) I get {x: , y: , width: , height: } I don't see any bbox.x2, bbox.y2, bbox.w or bbox.h. Can someone explain what x2 and y2 are supposed to be?
from snap.svg.zpd.
its not working properly in mozilla firefox . can someone pls help. The rootSvg.clientWidth and rootSvg.clientHeight values are zero.
var zoomToElement = function(el, filling, overrideScale, interval, ease, cb){
var zpdElement = snapsvgzpd.dataStore[this.id].element,
rootSvg = snapsvgzpd.dataStore[this.id].data.root,
width = rootSvg.clientWidth,
height = rootSvg.clientHeight,
from snap.svg.zpd.
Related Issues (20)
- Zoom and Pan at the same time? HOT 1
- Chrome 48 removes SVGGraphicsElement.getTransformToElement() HOT 6
- 'SVGElement.offsetParent' is deprecated HOT 5
- Zoom to element help HOT 1
- Zoom behaviors in demo 1 and 2 aren't working HOT 2
- zoom on SVG document with offset position HOT 1
- [LIMITED the POWER] This usually use on present view only. NOT for the purpose of Storing or Modifying the paper.
- _getEventPoint() using clientX/clientY HOT 5
- bower install snap.svg.zpd --save installs old version HOT 5
- load: not working HOT 6
- new feature: limit pan directions HOT 4
- wheel events no longer working in chrome/opera/firefox in the presence of both a touch pad and a mouse HOT 5
- onClick not working in Ionic IOS HOT 4
- Implemented a new feature: pan/drag in boundaries
- zpd prevent others elements to fire onblur events HOT 1
- plugin on npm is not up to date
- how to use this plugin with typescript and snapsvg-cjs HOT 2
- zoomThreshold not working
- e2e test spec
- paper.zpd('origin') only resets zoom level, not position
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from snap.svg.zpd.