Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: JS-koodi; Firefox in, muut out

Sivun loppuun

nixu89 [25.06.2006 17:46:13]

#

Linkki:

- <a href="sivut.php" target="sivut" onMouseOver="parent.top.naytaKupla(0);" onMouseOut="parent.top.piilotaKupla();">Etusivu</a>

divi ja itse koodi:

function naytaKupla(id) {

	var ohjeet = Array(
    			 	   "Ylläpitäjän sivun etusivu",
    				   /* ... */);

    document.getElementById('kupla').innerHTML = ohjeet[id];
    document.getElementById('kupla').style.left = 610;
    document.getElementById('kupla').style.top = 30;
    document.getElementById('kupla').style.display = 'block';

}

function piilotaKupla() {

    document.getElementById('kupla').innerHTML = '';
    document.getElementById('kupla').style.display = 'none';

}

...

<div id="kupla" class="topkupla" style="display: none; position: absolute;"></div>

Koodi toimii vain FF:llä mutisematta, muut selaimet (Opera & IE) eivät reagoi ollenkaan tuohon.
Linkki ja koodi ovat ei kehyksissä.

Mikä mättää?

nixu89 [17.07.2006 21:22:12]

#

Eipä näytä vastauksia tulevan...

No, olen selvittänyt, että ongelma on tuossa getElementById('kupla')-kohdassa. Sitä en vain ymmärrä, miksi FF tuon kuplan löyttää, mutta Opera ja IE eivät.

lainaus:

Operan JavaScript-konsoli:

http://127.0.0.1/*/menu.php
Event thread: mouseover
Error:
name: TypeError
message: Statement on line 1: Type mismatch (usually a non-object value used where an object is required)
Backtrace:
Line 1 of script
window.parent.top.naytaKupla(0);
At unknown location
[statement source code not available]

T.M. [17.07.2006 21:44:04]

#

Mulla toimii kaikilla selaimilla tuo koodi, eikä mitään virheilmoituksia antanut.

Ettei sulla vaan olis jotain ihme JS koodin rajoitinta tjsp siinä FF selaimessa?

Niin ja, se miksi ihmiset eivät ehkä vastanneet: et kertonut yhtään mitään siitä miten sen pitäisi toimia tai miten se toimii sinulla.

nixu89 [19.07.2006 14:12:53]

#

Niinnojoo, olihan tuo kyllä aika hätäisesti kirjoitettu viesti, ilman kunnollista selvennystä koodin tarkoituksesta jne...

Siis ei, Firefox on ainut selain jolla tuo minulla toimii, muut selaimet eivät jonkun takia löydä tuota kupla-diviä

Anssi V [20.07.2006 15:03:51]

#

Oiskohan seuraaviin tutustumisesta apua;

document.all
document.layers
document.getElementById

Blaze [20.07.2006 15:20:41]

#

Anssi V kirjoitti:

document.all

IE-spesifinen.

Anssi V kirjoitti:

document.layers

NS4(!)-spesifinen.

Anssi V kirjoitti:

document.getElementById

No nyt löyty oikea, ai mut kappas, sitähän käytetäänkin jo, ja vieläpä ihan oikein.

Lukemalla tuo alkuperänen koodi vaikuttais ihan toimivalta, en jaksanut alkaa sitä mihinkään kopypasteilemaan, ja jos tuo kerran T.M:llä toimi, voinemme olettaa, että vika on alkuperäisen kysyjän selaimissa/koneessa/sateliitin ylilennon aiheuttamassa magneettikentän muutoksessa.

T.M. [20.07.2006 15:31:05]

#

Hmm... pasteepas vielä koko koodi, sillä tuostahan puuttuu osa taulukosta, ehkä siinä taulukossa on jotain virheellistä koodia tjsp?

Tai sitten yritit näyttää jotain elementtiä jota ei ollut siinä taulukossa?

Blaze [20.07.2006 15:53:25]

#

T.M. kirjoitti:

pasteepas vielä koko koodi

Vielä mieluummin: pistä se veppiin, niin meiän ei tarvi kopypasteta.

nixu89 [21.07.2006 00:08:52]

#

Pätkä on täällä, niin kuin koodissa yllä esiintyy

T.M.: mistä taulukosta?

T.M. [21.07.2006 01:31:05]

#

var ohjeet = Array(

Tosta taulukosta.

No siis ÖH, noi koodit on eri sivuilla, ja yrität vaikuttaa toiseen frameen(?), joka ei tietääkseni ole mahdollista.

Toimii hyvin kun pistää JS koodit ja ne linkit ym samalle framelle.

nixu89 [21.07.2006 09:10:44]

#

Jaa, siitä taulukosta...

Kyllä pitäisi olla mahdollista, ja onkin.
Tämä postaus auttoi, nyt toimii kun vaihdoin tuon

parent.top.document -- -> parent.frames[0].document --

Koodi ja linkit ovat edelleen eri kehyksissä


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta