【发布时间】:2016-12-29 09:03:59
【问题描述】:
我有这个fiddle。
当我点击路径时,我想放大它。但是缩放后,点击的路径失去了他当前的位置。
这里是我的 jQuery 代码:
var svg = $("#svg-container");
svg.load("svg/fondcarte-collec_actuelle.svg", function(data) {
svg.children().find("path").click(function(e) {
$("#Layer_1 path").removeAttr("style");
var x = e.pageX - svg.width() - $(this).offset().left - this.getBoundingClientRect().width + svg.find("svg").offset().left + 250;
var y = e.pageY - svg.height() - $(this).offset().top - this.getBoundingClientRect().height + svg.find("svg").offset().top + 250;
console.log(this.x, this.y)
$(this).css("transform", "translate(" + x + "px, " + y + "px) scale(1.3)");
$(this).css("fill", "green");
})
})
- 如何在不丢失当前位置的情况下进行缩放?
- 谁能提供一个带有 svg 教程和操作的网站?
怎么做?
注意:我在没有插件的情况下问它是因为我想了解这个缩放概念。
【问题讨论】:
-
只需设置
transform-origin: 50% 50%;并删除translate的所有复杂性,您应该会得到非常接近您正在寻找的东西。请注意,您可能还需要操作元素的顺序,以便您希望“超越”其他元素的元素是最后一个。 -
哇,它有效,谢谢。您可以将此评论设置为 anwser,我将其标记为已解决吗?