Javascript 在缩放父div时防止缩放文本

Javascript 在缩放父div时防止缩放文本,javascript,zooming,raphael,scaletransform,Javascript,Zooming,Raphael,Scaletransform,现在我正在做一个包含一定数量房间的平面图项目——每个房间都被表示为一个Raphael.js形状,形状中间有许多任务。字体大小每个形状需要固定的任务数量 用于放大: (this._zoom <= 6 && this._zoom > 0) ? (this.count) ? this._textPaperSet.forEach(function (e) { e.transform("...s" + (1 / defaultZoomStep)); }) : ''

现在我正在做一个包含一定数量房间的平面图项目——每个房间都被表示为一个Raphael.js形状,形状中间有许多任务。字体大小每个形状需要固定的任务数量

用于放大:

(this._zoom <= 6 && this._zoom > 0) ?
(this.count) ? this._textPaperSet.forEach(function (e) {
e.transform("...s" + (1 / defaultZoomStep));
}) : ''
                : '';
这很好

单击“适应屏幕”按钮将地图适应屏幕:

var zoom = (Math.min(this._inner.width() / this._mapWidth,
this._inner.height() / this._mapHeight) * mapZoomFudgeFactor);
this.zoomTo(zoom);

但是字体也会被缩放。有什么办法阻止它吗?

快速思考一下。您可以在文本上应用变换,并使其相对较小。或者可以将文本作为一个单独的元素,不应用任何转换。问题是文本需要在同一层上-它可以用于鼠标放大和缩小(文本大小相同),但不适合屏幕按钮单击。
var zoom = (Math.min(this._inner.width() / this._mapWidth,
this._inner.height() / this._mapHeight) * mapZoomFudgeFactor);
this.zoomTo(zoom);