Hover - POP UP

Status
Nicht offen für weitere Antworten.

nentus

Mitglied
Wie bekomme ich es hin, das wenn ich über ein bild mit der maus gehe, das ein kleines Pop Up erscheint mit einem Bild?
 
Ganz einfach:
Code:
<a href="#" onmouseover="window.open('LINK','poup','width=BREITE,height=HÖHE')">Mouseover</a>
Ist aber nervig, wenn man aus versehen über den link fährt und dann ein neues Fenster auf geht... Besuchern gefällt das sicher nicht...
 
Geht das nicht auch ohne ein neues Fenster, so dass man mit einem div eine neue Ebene einblendet und das nur bei onmouseover passiert?
 
Jippie, auf die Frage hab ich gewartet:

In den Head:
Code:
<script>
function getLeft(elm)
	{
	var mOffsetLeft = elm.offsetLeft;
	var mOffsetParent = elm.offsetParent;

	while(mOffsetParent) {
		mOffsetLeft += mOffsetParent.offsetLeft;
		mOffsetParent = mOffsetParent.offsetParent;
	}
	return mOffsetLeft;
	}
function getTop(elm)
	{
	var mOffsetTop = elm.offsetTop;
	var mOffsetParent = elm.offsetParent;

	while(mOffsetParent){
		mOffsetTop += mOffsetParent.offsetTop;
		mOffsetParent = mOffsetParent.offsetParent;
	}
function setDiv(elem)
	{
	var popup = document.getObjectById('popup');
	popup.style.display = "block";
	popup.style.left = getLeft(elem);
	popup.style.top = getTop(elem);
	}
</script>

In den Body
Code:
<div id="popup" onmouseout="this.style.display='none'" style="position:absolute;display:none">
Inhalt
</div>
<a href="#" onmouseover="setDiv(this)">MOUSEOVER</a>

Beim Mouseover erschein der Layer an der Position des Links, wenn man den Layer mit der Maus verlässt verschwindet er wieder.

Wie immer keine garantie fürn funktionstüchtigen Script, ist ungetestet...
 
Ist in dem JS-Script ein Fehler in der Funktion getTop() ?

Es fehlt die Rückgabe der vertikalen Position (return mOffsetLeft;) und die schließende Klammer (})

Korrekturvorschlag:

PHP:
function getLeft(elm)
{
    var mOffsetLeft = elm.offsetLeft;
    var mOffsetParent = elm.offsetParent;

    while(mOffsetParent) {
        mOffsetLeft += mOffsetParent.offsetLeft;
        mOffsetParent = mOffsetParent.offsetParent;
    }
    return mOffsetLeft;
}
function getTop(elm)
{
    var mOffsetTop = elm.offsetTop;
    var mOffsetParent = elm.offsetParent;

    while(mOffsetParent){
        mOffsetTop += mOffsetParent.offsetTop;
        mOffsetParent = mOffsetParent.offsetParent;
    }
    return mOffsetTop;
}
function setDiv(elem)
{
    var popup = document.getObjectById('popup');
    popup.style.display = "block";
    popup.style.left = getLeft(elem);
    popup.style.top = getTop(elem);
}
 
Status
Nicht offen für weitere Antworten.
Zurück