私は異常なタスクがありますが、アンカーからpx(x、y)のテキスト位置を取得する必要がありますが、その方法を手がかりにはありません:ASP.NETアンカーからpxのテキスト位置を取得
ここでコードです:ここ
は、アンカーのイメージであるASP.NETまたは/およびJavaScriptでこれに
<a id="anchor" href="#" runat="server" style="display: inline-block; border-color: #000000; text-decoration: none; border-style: solid; border-width: 1px; background-repeat:no-repeat; width:100px; height:50px;">Text</a>
どのような方法がありますか?私は、テキストの周りに巻き付くことについて考えていたし、jsでoffsetWidth/offsetHeightを取得しますが、それは私のサイズを取得するだけで、アンカーのテキストの位置ではありません。
UPDATE:ここ
<div style="display:inline-block;">
<p class="category-label" align="center">Normal state preview</p>
<a id="anchor" href="#" runat="server" style="display: inline-block; border-color: #000000; text-decoration: none; border-style: solid; border-width: 1px; background-repeat:no-repeat; font-family:Arial; font-size:10px; color:#000000; width:100px; height:50px;">
<div runat="server" id="anchorText">Text</div></a>
</div>
<input type="hidden" id="anchorTextTop" runat="server" />
<input type="hidden" id="anchorTextLeft" runat="server" />
は、私が使用JSがある::Imが取得
function GetTextPosition() {
var TextTop = document.getElementById('<%= anchorText.ClientID %>').offsetParent.offsetTop;
var TextLeft = document.getElementById('<%= anchorText.ClientID %>').offsetParent.offsetLeft;
document.getElementById('<%= anchorTextTop.ClientID %>').value = TextTop;
document.getElementById('<%= anchorTextLeft.ClientID %>').value = TextLeft;
}
値:
anchorTextTop =ワイルドは、私は、コードを少し変更し
結果78(上からほんの数ピクセルしかありません) anchorextLeft = 541(それはアンカーの5倍サイズだことはできません)
私はJSでこれを使用する場合:
var TextTop = document.getElementById('<%= anchorText.ClientID %>').offsetTop;
var TextLeft = document.getElementById('<%= anchorText.ClientID %>').offsetLeft;
私は取得しています:
anchorTextTop = 100 anchorextLeft = 201
コントロールがrunat = "server"とマークされている可能性がありますか?
私はdiv(インラインではありません)を試してみましたが、相対的に親を設定しませんでした。それはit.Iでなければなりません。私はこのコードを試して結果を返します。 – formatc
これはうまくありがとうございます! – formatc