[英]In d3.js How to adjust tooltip (up and down) based on the screen position?
我使用d3.js
創建了一個geo map
,因此在每個國家/地區創建了一個tooptip。
基本上是在mousemove
事件時創建工具提示。
.on("mousemove", function(d) {
return tooltip
.style("left",d3.event.pageX+"px")
.style("top",d3.event.pageY+10+"px")
.style("visibility", "visible")
.html(function() {
return '<div style="border:1px solid #ccc;">'
+'<p style="font-weight:bold;">'+ d.properties.name +'</p>'
+'<div>'+d.properties.tooltip+'</div></div>';
})
})
我的提示是工作fine.I使用d3.event.pageX
和d3.event.pageY
用於獲取當前location.Basically正在更新提示風格left
與d3.event.pageX
和top
與d3.event.pageY
。
到目前為止,每個國家的tooltip
都在下面。但是我需要根據窗口位置顯示工具提示。
如果我mousemove
美國等排名靠前的國家/ United states
需要在該國家/地區下方顯示tooltip
。如果我mousemove
該Antarctica
需要在該國家/地區上方顯示tooltip
(因為Antarctica
是最bottom country
因此該tooltip
在頁面中無法正確顯示)
所以我的問題是我需要根據Windows位置更改工具提示位置。請幫助我解決此問題。我在下面更新了我的小提琴鏈接。請看一下。
小提琴鏈接-http: //jsfiddle.net/sam0kqvx/36/
嘗試計算,如果鼠標到達底部,如果鼠標位置在底部,則根據需要設置頂部值。 下面是代碼
.style("top",function(){
if(current_position[1]+70 > 500){
return current_position[1]-50+"px";
}else{
return current_position[1]+100+"px"
}
})
希望你明白了,如果不要求我更多...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.