我已經在我的SVG垂直準跟隨鼠標指針,但現在它是一種緩慢的,以更新其位置,東西是用快速的鼠標動作尤其明顯。有沒有辦法減少這種滯後?有沒有辦法減少鼠標指針後面的指引滯後?
當前代碼:
svg.on("mousemove", function(d) {
svg.select(".guideline")
.attr("x1", d3.mouse(this)[0]-1)
.attr("x2", d3.mouse(this)[0]-1);
});
svg.on("mouseover", function(d) {
svg.append("line")
.attr("class", "guideline")
.attr("y1", margin[0])
.attr("y2", height+margin[0])
.attr("opacity", originOpacity)
.attr("stroke", "#333")
.attr("pointer-events", "none");
});
svg.on("mouseout", function(d) {
svg.select(".guideline").remove();
});
這有助於減少一些滯後的,謝謝你,但我希望能有降低甚至更多,因爲還有移動鼠標指針時,一個非常明顯的延遲的方法。 –
'd3.event.pageX'和'.pageY'可能會更快,我已經更新了答案。除此之外,我恐怕你已經優化了所有你能做到的事情,總會有一點落後於鼠標。 – Duopixel
我不認爲這是導致性能問題的選擇,我認爲這是對瀏覽器無法跟上的DOM的快速修改。 – Wex