1

次の関数では、位置 (x & y) 値を含むパラメーター pos を渡しています。ご覧のとおり、これらの値を使用して div タグの出力を配置しようとしています。何らかの理由で機能していません。私が何か間違っているかどうかは誰でもわかりますか??

この関数の目的は、ホバーした位置の div に html を表示することです...

現在、ホバーの出力を Web ページの下部に表示しています。

ありがとうクリス

featureOver: function(ev,latlng,pos,data)   
{  
    var X = pos.x;  
    var Y = pos.y;  
    alert('X = ' + X + '  ' + 'Y = ' + Y);    
    document.body.style.cursor = "pointer";  
    $("div#over").css("top",  Y + "px");  
    $("div#over").css("left", X + "px");  
    $("div#over").html(data.name);  
},

HTMLコード

<table id=maptable border=2>
<th>
<div id="map_canvas" style="height:500px; width:700px; background-color:white; border:1px solid black; "></div>
<div id="over"></div>
</th>
4

2 に答える 2

2

代わりにこれを試してください(を使用offset()):

featureOver: function(ev,latlng,pos,data)   
{  
    var X = pos.x;  
    var Y = pos.y;  
    alert('X = ' + X + '  ' + 'Y = ' + Y);    
    document.body.style.cursor = "pointer";  
    $("div#over").offset().top =  Y + "px";  
    $("div#over").offset().left =  X + "px";  
    $("div#over").html(data.name);  
}
于 2012-07-01T18:46:26.113 に答える
0

div#over の位置によって異なります。position:absolute および position:relative に関して CSS で「top」および「bottom」プロパティがどのように機能するかについての説明は、こちらを参照してください。

絶対配置要素 ( position : absolute または position : fixed の要素) の場合、要素の上マージンの端とそれを含むブロックの上端の間の距離を指定します。

相対的に配置された要素 ( position : relative を持つ要素) の場合、要素を通常の位置より下に移動する量を指定します。

https://developer.mozilla.org/en/CSS/top

于 2012-07-01T18:50:20.010 に答える