0
通常,當您在D3.js中追加對象並且想要定義特定的可視化對象(例如,出現在另一個對象頂部的信息框)時,您可以設置一種風格。在我的情況下,我想這一點:D3無法將樣式設置爲已上傳的對象
...
.on("mouseover", function (d, i) {
graph.append("div")
.attr("class","info-box")
// info-box is defined with position: absolute
.style("top", height - (yV * d))
.style("left", (xV * i))
.text("INFO")
}
...
所以,在情況下,我讓鼠標懸停在我這個代碼中定義的對象之一(讓我們說這是第二個在一系列垂直條)應出現一個框用下面的代碼:
<div class="info-box" style="top: 30; left: 10">
INFO
</div>
的事情是,由於某種原因,當代碼生成它不設置樣式框我定義,其實屬性「風格」沒有按根本不會出現,考慮到我希望這個盒子出現在我懸停的酒吧的頂部,這非常煩人。
這發生在我正在使用Spring MVC的代碼中。更確切地說,我從一個自定義標記生成JavaScript代碼,接收一些參數,然後在一個jsp中「呈現」,並用這些參數調用它。我不知道它是否有事可做,但我很確定兩件事:
- 有沒有與其他JavaScript文件「碰撞」,因爲d3是我唯一使用的.js用我的代碼。
- 在jsp中生成的完全相同的JavaScript代碼在普通html頁面中按預期工作。
針對此問題的一些解決方法?在Spring中做的一些配置阻止我使用嵌套在HTML中的樣式?我真的會爲此回答一個答案,因爲它讓我發瘋,我需要儘快解決它。
最後兩個注意事項:
- 我使用ATTR( 「風格」, 「頂」 已經試過+(高度 - (YV * d))+ 「左」 +(XV *我)+「;」),它不起作用。 :(
- 使用一個類不是一個選項,因爲這很大程度上取決於我懸停的對象的值,我不能爲每個可能的場景創建一個類(在這之前我會切開我的靜脈)。
......我不知道我的原代碼是如何工作的我html,而不是在jsp中,但是,嘿,最後它很容易...對於提出愚蠢的問題感到抱歉......但是我總是設置top和left屬性而不定義px。 – MangaPowerZero
你可以不用px一世n jQuery,它爲你做了一些額外的解釋,但不適用於d3。 – nrabinowitz