Übergabe von Variablen an eine Funktion (Mouseover) ...
Berkant
- javascript
Hallo Forum!
Ich will bei einem MouseoverEffekt den Namen eines bestimmten Layers
an die MouseoverFunktion übergeben. Da ich verschiedene Layers habe,
die auch von verschiedenen Images ausgelöst werden sollen, hab ich
versucht, beim Aufrufen der MouseoverFunktionen den Namen des
jeweiligen Layers mitzugeben. Nur klappt das mit der Funktion Slide
() nicht (bei IE und NS nicht), bei den Funktionen showObject() und hideObject() funktioniert es aber ohne Probleme! Was mache ich falsch? Tausche ich die Variable obj mit dem Layernamen aus, dann
funktioniert die Funktion Slide().
Hier mein Code:
<SCRIPT LANGUAGE="JavaScript">
<!--
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
function init() {
if (ns4) praxis = document.praxisDiv
if (ie4) praxis = praxisDiv.style
}
function showObject(obj) {
if (ns4) obj.visibility = "show"
else if (ie4) obj.visibility = "visible";
}
function hideObject(obj) {
if (ns4) obj.visibility = "hide"
else if (ie4) obj.visibility = "hidden"
}
function slide(obj) {
obj.ypos = parseInt(obj.top)
if (obj.ypos < 200) {
obj.ypos += 5
obj.top = obj.ypos
setTimeout("slide()",30)}*/
}
//-->
</SCRIPT>
</head>
<body bgcolor="white" onload="init()">
<a href="../praxis/praxis_index.htm" target="_self" onmouseover="showObject(praxis);slide(praxis)" onmouseout="hideObject(praxis)">
<div id="praxisDiv" style="position: absolute; left:50px; top:100px; width:200px; height:100px; clip:rect(0px 200px 100px 0px); visibility:hidden; z-index:1;"></div>
</body>
Vielen Dank für die Hilfe!
Hi
Du musst die Funktion slide(obj) folgendermassen abaendern:
function slide(obj) {
obj.ypos = parseInt(obj.top)
if (obj.ypos < 200) {
obj.ypos += 5
obj.top = obj.ypos
hilfe=obj
setTimeout("slide(hilfe)",30)}
Die Variable obj ist nur dann definiert, wenn du die funktion mit variable aufrufst.
Tschau Holger