2016-04-07 85 views
0

2行にわたるツールヒントテキストを表示しようとしていますが、何も動作していないようです。 私は、ツールチップを管理するecmascriptを持つツールチップを表示するためのテキスト要素を持つSVGを持っています。 私は「\ n」は.textContentテキストに改行文字を追加します。

tooltip.textContent = " Text = " + id + " <br/> Result =" + result; 

ラインでいくつかのオプションを試してみました、「\ n個の\ n」、 '\\\ n' は、スタイル= "空白:事前;"、 に、String.fromCharCode (13)

ただし、ツールチップは2行に分割されません。 ご提案ください。

<svg ….> 
    <script type="text/ecmascript"> 
<![CDATA[ 
    function init(evt) { 
    if (window.svgDocument == null) { 
     svgDoc = evt.target.ownerDocument; 
    } 
    theSvgElement = document.getElementById("svg"); 
    tooltip = svgDoc.getElementById('tooltip');    
     }   
    function ShowTooltip(id) { 
    result = getResult(); 
    tooltip.setAttributeNS(null,"visibility","visible"); 
    tooltip.textContent = " Text = " + id + " \n Result =" + result; 
     } 
    function HideTooltip() { 
    tooltip.setAttributeNS(null,"visibility","hidden"); 
     } 
]]> 
    </script> 
     <g> 
    <circle 
    r="40" 
    cy="200" 
    cx="300" 
     fill="#00b300" 
     onmouseout="HideTooltip()" 
     onmouseover="ShowTooltip('CD.02.02.02')"/> 
     </g> 
     <text class="tooltip" id="tooltip" x="20" y="20" 
      style="font-family: Times New Roman; font-size: 80; fill: #000000; white-space: pre;" 
      visibility="hidden"> Hover to read the text. 
    </text> 
    </svg> 
+0

とラインtooltip.textContent = ...を交換し、ツールチップの高さですか? – Tinmar

+0

SVG (下記)が正しいアプローチです。私は通常、SVGビューボックスやズームの影響を受けないので、HTMLのツールチップを使用します。それ以外の場合は、面白いツールチップのサイズになります。 –

答えて

0

ここから実施例3で指摘したように、異なるy位置にツールチップ内部<tspan>要素を追加してみてください:http://www.w3schools.com/svg/svg_text.asp

より正確には、たぶん、固定幅

tooltip.textContent = ""; 

var tspan1 = document.createElementNS("http://www.w3.org/2000/svg", 'tspan'); 
txtnode1 = document.createTextNode("Text = " + id); 
tspan1.appendChild(txtnode1); 
tspan1.setAttribute("x",20); 
tspan1.setAttribute("y",30); 

var tspan2 = document.createElementNS("http://www.w3.org/2000/svg", 'tspan'); 
txtnode2 = document.createTextNode("Result =" + result); 
tspan2.appendChild(txtnode2); 
tspan2.setAttribute("x",20); 
tspan2.setAttribute("y",60); 

tooltip.appendChild(tspan1); 
tooltip.appendChild(tspan2); 
関連する問題