Hi zusammen,
da ich auf jswelt vergeblich nach einer Funktion für Tooltips gesucht habe, die auf ie, ns, mozilla und opera funktioniert, habe ich selbst eine programmiert und will die natürlich nicht vorenthalten.
Ich habe auf IE 6, NS 7.01, Mozilla 1.3.1 und Opera 7.03 getestet und es müsste auch auf NS 4 und ab IE 4 funktionieren.
Wäre nett, wenn ihr schreiben könntet, wo es noch Fehler gibt oder wo es funktioniert außer auf den getesteten.
Viele Grüße
Jan
Hier das Skript:
-----------------------------------------------------------------
<html>
<head>
<script type="text/javascript">
var ie, ns;
var active = false;
ie = document.all ? 1 : 0;
ns4 = document.layers ? 1 : 0;
nsplus = window.netscape ? 1 : 0;
//alert("ie: "+ie+"\nns4: "+ns4+"\nnsplus: "+nsplus);
function showTip(content) {
active = true;
document.getElementById("tooltip").innerHTML = "<p class='tooltip'>" + content + "</p>";
document.getElementById("tooltip").style.visibility = "visible";
}
function hideTip() {
active = false;
document.getElementById("tooltip").style.visibility = "hidden";
}
function setTipPos(e) {
if(active) {
if(ie) {
document.getElementById("tooltip").style.top = event.y + 5;
document.getElementById("tooltip").style.left = event.x + 5;
}
if(ns4) {
document.getElementById("tooltip").left = e.pageX + 5;
document.getElementById("tooltip").top = e.pageY + 5;
}
if (nsplus) {
document.getElementById("tooltip").style.left = e.pageX + 5;
document.getElementById("tooltip").style.top = e.pageY + 5;
}
} else {
if(ns4) {
document.getElementById("tooltip").left = -100;
document.getElementById("tooltip").top = -100;
} else {
document.getElementById("tooltip").style.top = -100;
document.getElementById("tooltip").style.left = -100;
}
}
}
if(ns4 || nsplus) {
document.onmousemove = setTipPos;
}
</script>
</head>
<body onmousemove="javascript:setTipPos();">
<div id="tooltip" style="position: absolute; visibility: hidden; width: 100px; height: 100px; border: 1pt solid black; background-color: #CCCCCC;">
<p class="tooltip">
Dies ist mein Tiptext!
</p>
</div>
<a href="#" onmouseover="javascript:showTip('Tiptext 1');" onmouseout="javascript:hideTip();">Link 1</a><br><br><br>
<a href="#" onmouseover="javascript:showTip('Tiptext 2');" onmouseout="javascript:hideTip();">Link 2</a><br><br><br>
<p onmouseover="javascript:showTip('Tiptext 3');" onmouseout="javascript:hideTip();">Das ganze funktioniert<br>nicht nur mit Links,<br> wie man an diesem Absatz<br>sieht</p>
</body>
</html>
da ich auf jswelt vergeblich nach einer Funktion für Tooltips gesucht habe, die auf ie, ns, mozilla und opera funktioniert, habe ich selbst eine programmiert und will die natürlich nicht vorenthalten.
Ich habe auf IE 6, NS 7.01, Mozilla 1.3.1 und Opera 7.03 getestet und es müsste auch auf NS 4 und ab IE 4 funktionieren.
Wäre nett, wenn ihr schreiben könntet, wo es noch Fehler gibt oder wo es funktioniert außer auf den getesteten.
Viele Grüße
Jan
Hier das Skript:
-----------------------------------------------------------------
<html>
<head>
<script type="text/javascript">
var ie, ns;
var active = false;
ie = document.all ? 1 : 0;
ns4 = document.layers ? 1 : 0;
nsplus = window.netscape ? 1 : 0;
//alert("ie: "+ie+"\nns4: "+ns4+"\nnsplus: "+nsplus);
function showTip(content) {
active = true;
document.getElementById("tooltip").innerHTML = "<p class='tooltip'>" + content + "</p>";
document.getElementById("tooltip").style.visibility = "visible";
}
function hideTip() {
active = false;
document.getElementById("tooltip").style.visibility = "hidden";
}
function setTipPos(e) {
if(active) {
if(ie) {
document.getElementById("tooltip").style.top = event.y + 5;
document.getElementById("tooltip").style.left = event.x + 5;
}
if(ns4) {
document.getElementById("tooltip").left = e.pageX + 5;
document.getElementById("tooltip").top = e.pageY + 5;
}
if (nsplus) {
document.getElementById("tooltip").style.left = e.pageX + 5;
document.getElementById("tooltip").style.top = e.pageY + 5;
}
} else {
if(ns4) {
document.getElementById("tooltip").left = -100;
document.getElementById("tooltip").top = -100;
} else {
document.getElementById("tooltip").style.top = -100;
document.getElementById("tooltip").style.left = -100;
}
}
}
if(ns4 || nsplus) {
document.onmousemove = setTipPos;
}
</script>
</head>
<body onmousemove="javascript:setTipPos();">
<div id="tooltip" style="position: absolute; visibility: hidden; width: 100px; height: 100px; border: 1pt solid black; background-color: #CCCCCC;">
<p class="tooltip">
Dies ist mein Tiptext!
</p>
</div>
<a href="#" onmouseover="javascript:showTip('Tiptext 1');" onmouseout="javascript:hideTip();">Link 1</a><br><br><br>
<a href="#" onmouseover="javascript:showTip('Tiptext 2');" onmouseout="javascript:hideTip();">Link 2</a><br><br><br>
<p onmouseover="javascript:showTip('Tiptext 3');" onmouseout="javascript:hideTip();">Das ganze funktioniert<br>nicht nur mit Links,<br> wie man an diesem Absatz<br>sieht</p>
</body>
</html>
Zuletzt bearbeitet: