【发布时间】:2017-02-06 07:09:54
【问题描述】:
我正在尝试在单击事件上使 SVG 圆圈变大,它在 Chrome 52 中运行良好(尚未在旧版本上尝试过),但在 Firefox 中,CSS 过渡没有效果。有没有办法在没有太多 JavaScript 的情况下让 Firefox 的行为与 Chrome 相同?
HTML:
<svg width="100%" height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg">
<circle cx="50%" cy="50%" r="15"/>
</svg>
CSS:
html, body {
height: 100%;
width: 100%;
margin: 0;
padding: 0;
}
circle {
-webkit-transition: ease 0.7s all;
-moz-transition: ease 0.7s all;
-ms-transition: ease 0.7s all;
-o-transition: ease 0.7s all;
transition: ease 0.7s all;
}
JS:
$(document).ready(function() {
$("body").click(function() {
if($("circle").attr("r") == 15) {
$("circle").attr("r", function() {
if ($(window).height() > $(window).width()) {
return Math.sqrt(Math.pow($(window).width(), 2) + Math.pow($(window).height(), 2));
}
return (Math.sqrt(Math.pow($(window).width(), 2) + Math.pow($(window).height(), 2)));
});
} else {
$("circle").attr("r", 15);
}
});
});
【问题讨论】:
-
如果你不想使用 javascript,你可以在 Firefox 的 SMIL 中写这个。
标签: javascript html css svg