div solange zeigen, wie man mit der maus rüber ist (xajax)
Verfasst: 23.05.2008, 04:53
hi,
es geht darum, dass ich einen Text Link habe. Wenn ich mit der Maus auf diesen Link gehe (OnMouseOver), soll direkt unter den link mit Xajax ein Div sichtbar werden. Nun soll das Div wieder ausgeblendet werden, wenn ich mit der Maus das Div verlasse. Mein aktueller Ansatz funktioniert irgendwie nicht richtig. Mal haut es hin, aber oft verschwindet das Div auch wieder, wenn ich mich mit der Maus im div bewege. Irgendwas scheint da nicht richtig zu sein.
So schaut mein html Code aus. Ich denke das hier irgendwie das Problem sein wird.
Hier meine Xajax Funktionen.
So ein ähnliches prinzip nutzen auch viele große Seiten, wo ein link angeklickt wird, ein Div erscheint und verschwindet wieder, wenn man das Div verlässt. So schwer müsste es doch nicht sein.
Vielleicht hat ja jemand den passenden Tip für mich.
Phil
es geht darum, dass ich einen Text Link habe. Wenn ich mit der Maus auf diesen Link gehe (OnMouseOver), soll direkt unter den link mit Xajax ein Div sichtbar werden. Nun soll das Div wieder ausgeblendet werden, wenn ich mit der Maus das Div verlasse. Mein aktueller Ansatz funktioniert irgendwie nicht richtig. Mal haut es hin, aber oft verschwindet das Div auch wieder, wenn ich mich mit der Maus im div bewege. Irgendwas scheint da nicht richtig zu sein.
So schaut mein html Code aus. Ich denke das hier irgendwie das Problem sein wird.
Code: Alles auswählen
<div id="div_content" OnMouseOut="xajax_hide_div(); return false;">
<h3><a href="#" onMouseover="xajax_show_div(); return false;">Mouseover Test</a></h3>
</div>
Code: Alles auswählen
// zeigt einen text wenn ich mit der mouse über den text bin
function show_div()
{
$objResponse = new xajaxResponse();
$content = '<h3><a href="#" onMouseover="xajax_show_div(); return false;">Mouseover Test</a></h3>';
$content .= "Hier geht es los<br>.<br>.<br>.<br>.<br>und hier hört es auf";
$objResponse->assign('div_content', "style.visibility", "visible");
$objResponse->assign("div_content", "innerHTML", $content);
//$objResponse->script('setTimeout("xajax_hide_div()",3000);');
return $objResponse;
}
$xajax->registerFunction("show_div");
// versteckt das div wieder
function hide_div()
{
$objResponse = new xajaxResponse();
$content = '<h3><a href="#" onMouseover="xajax_show_div(); return false;">Mouseover Test</a></h3>';
$objResponse->assign('div_content', "style.visibility", "visible");
$objResponse->assign("div_content", "innerHTML", $content);
//$resp->assign('div_content', "style.visibility", "hidden");
//$resp->assign('div_content', "innerHTML", "");
return $objResponse;
}
$xajax->registerFunction("hide_div");
Vielleicht hat ja jemand den passenden Tip für mich.
Phil