|
Тема
|
hide layer (div)
|
|
Автор |
hall (nezapoznat) |
Публикувано | 22.01.02 12:17 |
|
здравейте, имам следния проблем - имам един div layer, който съм показал на екрана. Искам когато махна мишката от него, той да се скрие. Направил съм функция за скриване на div-a, но не знам какво събитие да прихвана така че при напускане на мишката на layera, той да се скрие.
Проблемът ми е само с IE, с NN нямам такива проблеми, там работи събитието onmouseout на <layer>
Под IE <div id="test" onmouseout=hide('test')> или onmouseleave респективно не работят.
Функцията hide работи със сигурност, защото когато имам примерно линк
<a href="#" onmouseover="hide()"> div-a се скрива
10х предварително.
| |
Тема
|
Re: hide layer (div)
[re: hall]
|
|
Автор |
JetSpeeD (бързам бавно) |
Публикувано | 22.01.02 12:34 |
|
onMouseOut="hide('test')"
onMouseOver="show('test')"
Споко. Хубавите работи, бавно стават.
| |
Тема
|
Re: hide layer (div)
[re: JetSpeeD]
|
|
Автор |
hall (nezapoznat) |
Публикувано | 22.01.02 12:46 |
|
както казах, когато прихващам тия събития на div, не работят
| |
Тема
|
Re: hide layer (div)
[re: hall]
|
|
Автор |
JQ (lz2jq) |
Публикувано | 22.01.02 12:53 |
|
Tova raboti za Mozilla - Netscape 6, IE
i opera 6
<html>
<head>
<title>layers-test</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript">
<!--
function MM_reloadPage(init) {
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
function MM_findObj(n, d) {
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function tmt_findObj(n){
var x,t; if((n.indexOf("?"))>0&&parent.frames.length){t=n.split("?");
x=eval("parent.frames['"+t[1]+"'].document.getElementById('"+t[0]+"')");
}else{x=document.getElementById(n)}return x;
}
function MM_showHideLayers() {
var i,p,v,obj,args=MM_showHideLayers.arguments;if(document.getElementById){
for (i=0; i<(args.length-2); i+=3){ obj=tmt_findObj(args);v=args[i+2];
v=(v=='show')?'visible':(v='hide')?'hidden':v;
if(obj)obj.style.visibility=v;}} else{
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
obj.visibility=v; }}
}
//-->
</script>
<style>
#Layer2 { position:absolute; left:128px; top:183px; width:313px; height:67px; z-index:2; background-color: #993300; layer-background-color: #993300; border: 1px none #000000; visibility: visible }
#Layer1 { position:absolute; left:129px; top:90px; width:312px; height:60px; z-index:1; background-color: #000099; layer-background-color: #000099; border: 1px none #000000 }
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div id="Layer1"></div>
<div id="Layer2" onMouseOut="MM_showHideLayers('Layer2','','hide')"></div>
</body>
</html>
| |
Тема
|
Re: hide layer (div)
[re: hall]
|
|
Автор | mitaka (Нерегистриран) |
Публикувано | 22.01.02 14:42 |
|
Ami viz sega po princip i onmouseover i inmouseout eventi vurvjat na DIV pod IE. Viz dali sluchainop ako polzvash 2 diva - vtorijat ne e vurhu purvija (tozi s mouseout event-a). Susto stom kazvash che fonkcija raboti OK no viz dali ja vikash po sustija nachin zastoto kakto si napisal v primera otdolu v edinija sluchaj ja vikash s parametur imeto na diva a v drugija bez. Ne znam prosto proveri trjabva da izlezne nesto malko zastoto inache tova koeto kazvash si vurvi pod IE bez nikakuv problem
| |
Тема
|
Re: hide layer (div)
[re: mitaka]
|
|
Автор |
wili98 (beta tester) |
Публикувано | 25.01.02 03:08 |
|
Taka naechenite BubleEvents...
Twa go ima pod IE i e dosta seriozen probelm s DIV, zashtoto wsyshntost DIV nqma sobstwen onMouseNeshto event a se firwa blagodarenie na bubling ot element w nego...
Koeto se poluchawa kofti, che se izstrelwa MouseOut, ako izlezesh ot link naprimer wyte..
Noga s dwe ostrieta obache e cha ako canclenesh buble Events nqma da sraboti onMouseOver na diva :))
Sq towa neshto se ignorira s mnogo kod pisane i golqmi shmekeri...
AMA :))
Kakto winagi nedokumentirano :
Smeni <div> sys SPAN i wig ko sha stane :))))
Dano si me razbral w obqsneniqta . A ako ne si togaz prosto smeni DIVA sys span..
I dobawi edin.
cicki browseri /e chak pa wsichki/ razbirat SPAN :))
USPEH..
IE RULEZ
JAVA lets make things badly and slow!!
| |
|
|
|
|