現在、単純なJavaScriptコードを使用して、テーブルのハイパーリンクをクリックすると表示されるデータのポップアップを表示しています。テーブル内のハイパーリンク上にポップアップを表示させる
ただし、リンクの近くにポップアップを表示することはできません。このアクションを実行できるスクリプトの提案や改善されたバージョンはありますか? jQueryもオプションです。 おかげで、ここに私の現在のjavascriptのコードです:
function createPopup(x, y, divID) {
var p = document.getElementById(divID);
p.style.display="block";
p.style.Left = x;
p.style.Top = y;
document.body.appendChild(divID);
}
そして、これはこれは私がdiv要素をポップアップするために使用するリンクであるCSS
.popup {
background-color: #FFFFFF;
border: thin solid #000000;
color: black;
display: none;
font-size: 11px;
height: auto;
padding: 10px;
position: absolute;
width: 300px;
}
です。
<a id=buttonRed href="javascript:createPopup(\'-40px\', \'' . (-15 + ($resultCounter * 10)) . 'px\', \'Name' . $id . '\');">
私がデータを動的に引き出すのは、データが動的であることがわかります。
ポップアップは、ハイパーリンクの近くにポップアップが表示されないという事実以外はうまく機能します。
提案?
更新されたコード::
<script>
window.onload = init;
function init() {
if (window.Event) {
document.captureEvents(Event.MOUSEMOVE);
}
document.onmousemove = getCursorXY;
}
function getCursorXY(e) {
document.getElementById('cursorX').value = (window.Event) ? e.pageX : event.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
document.getElementById('cursorY').value = (window.Event) ? e.pageY : event.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
}
function createPopup(divID) {
var p = document.getElementById(divID);
p.style.display="block";
p.style.Left = (window.Event) ? e.pageX : event.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);;
p.style.Top = (window.Event) ? e.pageY : event.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);;
document.body.appendChild(divID);
}
</script>
これは、私はjavascriptのために持っているものですが、それは正しい場所にロードされていません。
静的なx/y値を関数に渡すのではなく、カーソルの現在の位置に基づいて実行する必要があります。カーソルがカーソルの近くにあることが合理的に仮定できるためですリンクがクリックされたときにリンクします。 [すばらしいGoogle](http://www.google.com/search?q=javascript+get+cursor+position)は、これを行う方法を教えてくれます... – DaveRandom
これは素晴らしい提案です.Dave、試してみましょうでる。結果はピクセル単位で表示されますか? – wiseman7687
結果は、ビューポートの左上隅が0/0のピクセル単位の整数として与えられます。 [このページ](http://dev-notes.com/code.php?q=33)私はあなたが正しい方向に動くようになると思います。 – DaveRandom