Sto seguendo il secondo metodo, mi sembra il più semplice da seguire per uno alle prime armi in javascript come me. Direi che ci siamo, però non funziona del tutto, all'evento onmouseover si viene eseguito l'effetto del div che segue il mouse, però invece della scritta 'test' mi viene scritto 'undefined'. Penso che si tratti della variabile, ti incollo tutto sugli script.
Come risolvo? Dove sta l'errore?
PS: non credo di avere capito il primo metodo!
codice:
var tip = new (function() {
var overX, overY, leftPos, topPos, div, OFF = true, php;
this.follow = function (mouse1) {
if (OFF) { return; }
if (!mouse1) { mouse1 = window.event; }
var moveX = mouse1.clientX, moveY = mouse1.clientY;
leftPos += moveX - overX; topPos += moveY - overY;
div.style.left = leftPos + 'px';
div.style.top = topPos + 'px';
overX = moveX; overY = moveY;
};
this.remove = function () {
if (OFF) { return; }
OFF = true; document.body.removeChild(div);
};
this.append = function (mouse2, php) {
if (!mouse2) { mouse2 = window.event; }
div.innerHTML = php;
if (OFF) { document.body.appendChild(div); OFF = false; }
var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft, scrollY = document.documentElement.scrollTop || document.body.scrollTop, nWidth = div.offsetWidth, nHeight = div.offsetHeight;
overX = mouse2.clientX; overY = mouse2.clientY;
leftPos = document.body.offsetWidth - overX - scrollX > nWidth ? overX + scrollX + 10 : document.body.offsetWidth - nWidth + 16;
topPos = overY - nHeight > 6 ? overY + scrollY - nHeight - 7 : overY + scrollY + 20;
div.style.left = leftPos + 'px';
div.style.top = topPos + 'px';
};
this.init = function() {
div = document.createElement('div');
div.setAttribute('id','tip');
div.style.position = 'absolute';
};
})();
Codice PHP:
...
<script type="text/javascript">var php=<?php echo 'test'; ?></script>
...
home.php
#tip {
position: absolute;
width: auto;
height: auto;
top: -20;
left: 300;
padding: 0 2 0 2;
color: #ffffff;
background: #000000;
border: 0 solid #f8f8f8;
font-family: centaur;
font-size: 16;
float: right;
z-index: 999;
}
<body id='body' onload="tip.init()">
...
<input type='submit' onmouseover="tip.append(event, php)" onmouseout="tip.remove();" onmousemove="tip.follow(event);">
...