Max*_*ynn 1 html javascript css svg
遇到了一个奇怪的问题,即IE 11中的圆上无法进行变换旋转。
您可以在任何其他浏览器中看到蓝色的进度条,但在IE 11和10中工作正常。
问题是蓝色条不在顶部开始。在IE 11中,您可以看到它从右边开始。
JSfiddle:https ://jsfiddle.net/o7sh7t45/
Javascript:
var svgs = document.querySelectorAll('.progress__pie')
if (svgs) {
[].forEach.call(svgs, function (svg) {
let percentage = svg.getAttribute('data-pct')
let val = parseInt(percentage)
let bar = svg.querySelector('.bar')
if (isNaN(val)) {
val = 100
} else {
let r: any = bar.getAttribute('r')
let circumference = Math.PI*(r*2)
if (val < 0) {
val = 0
}
if (val > 100) {
val = 100
}
percentage = ((100-val)/100 * circumference)
svg.querySelector('.svg').style.strokeDashoffset = percentage.toString()
bar.style.strokeDashoffset = percentage.toString()
}
})
}
Run Code Online (Sandbox Code Playgroud)
IE不支持SVG元素上的CSS转换。您需要将转换添加为SVG元素上的属性。
<circle ... transform="rotate(-90,100,100)" ../>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1686 次 |
最近记录: |