Några frågor....lager m.m.

JavaScript

3 svar · 242 visningar · startad av Harback

Medlem sedan juni 2001206 inlägg
Trådstart#1

Hejsan, har några frågor jag gärna skulle vilja ha svar på.

1. Går det att få att en iframe i ett lager följer med z-indexet på lagret? Alltså att ett annat lager kan ligga över iframen?

2. Går att göra en OnClick på ett lager som gör att all text i lagret ändrar färg? Typ. this.style.textcolor?

3. Finns det något kommando som är tvärtemot OnClick? Alltså om man klickar utanför lagret eller nåt?

Medlem sedan juli 200159 inlägg
#2

Hej,

  1. svar ja. DU kan ha en Iframe i ett lager och det ska enligt W3C även följa Z-index.
    Detta fungerar smärtfritt i explorer men Mozilla/N6 har problem med detta idag.

  2. Jepp... Inga problem.

  3. Du kan ju sätta att javascript ska lyssna på ex mus knapparnas "event" och sedan kolla om ditt lager ligger inom dessa gränser.
    Gör det inte det så har du ju din lösning där.
    Men annars finns det väll inte en så lätt lösning nej.

Medlem sedan juni 2001206 inlägg
#3

1. Nej, jag får det inte att fungera med att iframen hänger på z-indexet. Fattar inte varför!?

2. Du kan inte visa hur man ska skriva? Jag får det inte att fungera.

3. Har du nåt exempel?

Medlem sedan juni 20004 308 inlägg
#4
  1. Detta exempel fungerar bra när jag testar det i IE 5.5, men som ZreoX säger så kan det säkert renderas olika (fel) i andra webbläsare, och detta är inte så mycket att göra något åt, mer än att svära.
<div id="foo" style="position:absolute;top:100px;left:100px;width:200px;height:200px;background-color:blue;">
</div>
<div id="foo" style="position:absolute;top:200px;left:200px;width:200px;height:200px;">
<iframe src="http://www.yahoo.com" width="200" height="200"></iframe>
</div>
<div id="foo" style="position:absolute;top:300px;left:300px;width:200px;height:200px;background-color:green;">
</div>
<script language="JavaScript">
function changeStyle(Id,Property,Value){
	if (document.all){
		eval('document.all[Id].style.'+Property+'="'+Value+'"');
	} else if (document.layers){
		eval('document.layers[Id].'+Property+'="'+Value+'"');
	} else if (document.getElementById){
		eval('document.getElementById(Id).style.'+Property+'="'+Value+'"');
	}
}
</script>

<div id="foo" style="position:absolute;top:10px;left:20px;">
<a href="#" onClick="changeStyle('foo','color','green');">Ändra färg</a>
Tjohoo
</div>
<body onClick="if(!onLayer){ alert('Out'); }; onLayer=null;" onLoad="onLayer=null;">
<div style="position:absolute;top:10px;left:10px;width:200px;height:200px;background-color:blue;" onClick="onLayer=1; alert('In');">Click me!</div>
</body>
268 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)