[JS]Probleem met Layers in Netscape

Pagina: 1
Acties:

  • _Administr8or_
  • Registratie: Februari 2002
  • Laatst online: 11-09 16:10
Ik heb de search gebruikt maar ik kon niet vinden wat ik nodig heb :(
Ik ben een newbie wat betreft HTML en JS en daarom heb ik deze code gekopieerd van een website.
Deze code werkt perfect met IE maar niet met NS :(

ik krijg dan deze foutmelding :
layer has no properties.
JavaScript Error: file:///C|/global.js, line 71:

layer has no properties.
JavaScript Error: file:///C|/global.js, line 95:
Wie kan er aan mij vertellen wat er fout is?
var mousex = 0;
var mousey = 0;

ns4 = (document.layers) ? true : false;
ie4 = (document.all) ? true : false;

if( ie4)
{
if( navigator.userAgent.indexOf( 'MSIE 5') > 0)
{
ie5 = true;
}
else
{
ie5 = false;
}
}
else
{
ie5 = false;
}

document.onmousemove = mouseMove;
if( ns4)
document.captureEvents( Event.MOUSEMOVE)

function mouseMove( e)
{
if( ns4)
{
mousex=e.pageX;
mousey=e.pageY;
}

if( ie4)
{
mousex=event.x;
mousey=event.y;
}

if( ie5)
{
mousex=event.x+document.body.scrollLeft;
mousey=event.y+document.body.scrollTop;
}
}

function getLayer( name)
{
if( document.layers)
{
return( document.layers[ name]);
}
else
{
if( document.all)
{
layer = eval( 'document.all.' + name + '.style');
return( layer);
}
else
return( null);
}
}

function showLayer( name, fixed)
{
var layer = getLayer( name);

if( document.layers)
layer.visibility = "show"; <--FOUT!!

if( document.all)
layer.visibility = "visible";

if( !fixed)
{
if( ns4)
{
layer.moveTo( mousex + 24, mousey - 24);
}
else
{
layer.top = mousey - 24;
layer.left= mousex + 24;
}
}
}

function hideLayer( name)
{
var layer = getLayer( name);

if (document.layers)
layer.visibility = "hide"; <--FOUT!!

if (document.all)
layer.visibility = "hidden";
}

function 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[ i][ n];

for( i = 0; !x && d.layers && i < d.layers.length; i++)
x = findObj( n, d.layers[ i].document);

return x;
}

function changeImage( img, src)
{
var x;
x = findObj( img)
x.src = src;
}

Verwijderd

if (document.layers) {
document.layer.visibility = "visible"; <--FOUT!!
}
show moet visible zijn
if (document.all) {
document.all.layernaam.style.visibility = "visible";
}
if (document.layers) {
document.layer.visibility = "hiddden"; <--FOUT!!
}
hidden moet hide zijn
if (document.all) {
document.all.layernaam.style.visibility = "hidden";
}
Ik heb alleen de stukjes nagecheckt waar je zelf al aangaf dat er fouten in zaten, zo zou het volgens mij moeten lukken, het gebruiken van accolades bij een if/else constructie zou ook handig zijn.

:)

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 23:46

crisp

Devver

Pixelated

Blijft nog een probleem dat dit script alleen zal werken met NS4.x en IE4+
Het houd geen rekening met DOM-browsers (NS6.x, MOZ) waarbij elementen met document.getElementById('id') aangesproken dienen te worden...

Intentionally left blank


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

hidden moet hide zijn
Je kunt altijd "visible" en "hidden" gebruiken, alleen als je in NS4 de waarde opvraagt krijg je "hide" of "show" terug.

Verwijderd

Gewoon NIET proberen om Crossbrowser te designen. De verschillen in IE, NS, AOL, Opera zijn de laatste tijd zo groot dat het onmogelijk gaat worden. Dus het beste is gewoon eerst je site voor IE maken, dan pas een site voor Netscape. De rest valt eigenlijk onder netscape. Kijk ook uit voor de verschillen in Netscape 4.x en 6.x.... gewoon voor de nieuwste versies designen. Mensen met een oude browser moeten maar upgraden. Zo simpel is het. Dan wordt voor jou het designen ook makkelijker, zeker voor en newbie.

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

Op dinsdag 05 maart 2002 17:37 schreef StarFire het volgende:
Gewoon NIET proberen om Crossbrowser te designen.
...
Dus het beste is gewoon eerst je site voor IE maken, dan pas een site voor Netscape.
:D d'r zullen een aantal tweakerts zijn die dat gaan aanvechten...

www.jurgroessen.nl


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

:D d'r zullen een aantal tweakerts zijn die dat gaan aanvechten...
Aantal posts: 3

Nah... :P
Pagina: 1