我想調用更新函數來旋轉文本1度,一旦度數達到360再次旋轉角度變爲0,因此它將繼續旋轉。但我認爲這不是解決這個問題的正確方法,也是行不通的。因此,如果有人知道這一點,建議我這樣做。 如何在D3 js中連續旋轉任何形狀?
<script type="text/javascript" src="https://d3js.org/d3.v4.min.js"></script>
</head>
<body>
<script>
var width = 600;
var height = 300;
var holder = d3.select("body")
.append("svg")
.attr("width", width)
.attr("height", height);
// draw the text
holder.append("text")
.style("fill", "black")
.style("font-size", "56px")
.attr("dy", ".35em")
.attr("text-anchor", "middle")
.attr("transform", "translate(300,150) rotate(0)")
.text("Hi, how r u doing");
// Initial starting angle of the text
for(var i=0;i<=360;i++){
update(i);
if(i==360){i=0;}
}
var n;
// update the element
function update(n) {
// rotate the text
holder.select("text")
.transition()
.duration(2000)
.attr("transform", "translate(300,150) rotate("+n+")");
}
</script>
</body>
</html>
例JS小提琴here。
你可以發佈一個jsFiddle嗎? –
你知道for循環每秒執行數十萬次,不是嗎? –
是的,我知道,這就是爲什麼我正在尋找其他方法來做到這一點。如果你知道的話請告訴我。 @GerardoFurtado –