Avatar billede pollas Nybegynder
11. marts 2001 - 06:39 Der er 10 kommentarer og
1 løsning

background i NS4

Jeg forsøger at skifte baggrundsfarven i en <div> vha. et javascript, men har lidt problemer med NS4-delen. Scriptet ligger i en anden frame end <div>\'en.

Dette er resultatet foreløbigt:

<script language=javascript>
var DOM = (document.getElementById) ? true : false;
var IE4 = (document.all) ? true : false;
var NS4 = (document.layers) ? true : false;
if (DOM)
{
parent.mid_l.document.getElementById(\'left\').style.background = \'#000000\';
parent.mid_r.document.getElementById(\'right\').style.background = \'#000000\';
}
else if (IE4)
{
parent.mid_l.left.style.background = \'#000000\';
parent.mid_r.right.style.background = \'#000000\';
}
else if (NS4)
{
her mangler noget begavet
}
</script>

Jeg har forsøgt mig lidt med layer-background-color og andre sjove ting, men...

Anyone?
Avatar billede jakoba Nybegynder
11. marts 2001 - 08:55 #1
Det nærmeste jeg kan foreslå er en 100% bred tabel med en baggrundsfarve, men jeg tror ikke man kan skifte baggrundsfarven dynamisk heller.
Avatar billede jakoba Nybegynder
11. marts 2001 - 09:18 #2
lav det som et layer, der kan du skifte baggrundsfarven via
document.layers.layerID.bgColor=\'ny farve\';
Avatar billede pollas Nybegynder
11. marts 2001 - 15:14 #3
Altså parent.mid_l.document.layer.filll.bgColor=\'ny farve\'; ?
Avatar billede pollas Nybegynder
11. marts 2001 - 23:35 #4
jakoba>> jeg er helt med på metoden - det fungerer bare ikke parent-angivelse... Gør jeg npget galt, eller ... ?
Avatar billede jakoba Nybegynder
11. marts 2001 - 23:45 #5
det hedder  layer.layernavn.bgColor

dvs der skal stå:
parent.mid_l.document.layers.layernavn.bgColor=\'#000000\';
parent.mid_r.document.layers.layernavn2.bgColor=\'#000000\';

istedet for \"noget begavet\"

du definerer layernavn og layernavn2 i dit layer ved at give en name= parameter:
<layer  name=\"layernavn\" ... >

jeg trir nok du også blot kan bruge det  id=\"layerid\"  du allerede har, prøv evt:
parent.mid_l.document.layers.left.bgColor=\'#000000\';
parent.mid_r.document.layers.right.bgColor=\'#000000\';

mvh JakobA
Avatar billede pollas Nybegynder
11. marts 2001 - 23:47 #6
Hmm, det er lige netop det jeg har gjort - uden effekt. Men jeg kunne jo give dem et \'name\'...
Avatar billede jakoba Nybegynder
11. marts 2001 - 23:49 #7
PS: an 11/03 2001 15:14:20 layers arrayet er flertal. med et s.
Avatar billede pollas Nybegynder
12. marts 2001 - 02:43 #8
Ak, ak - løsningen er nær. Jeg fandt ud af, at det såmænd har virket hele tiden, men at der, da <div>-taggen er tom, ikke er nogen \'bredde\' på farven. Jeg opdagede det, da jeg af vanvare fik tastet noget ind imellem.

Men laget bruges ikke til andet end dette, så jeg har måttet fylde med en tom tabel - det må kunne gøres fiksere...?!

<div> bruger:

#left {
  position: absolute;
  top: 191;
  left: 0;
  height: 191px;
  width: 100%;
  z-index: 1;
}

- og det er rigeligt for alle andre browsere. Hvorfor virker 100% ikke i NS4?
Avatar billede jakoba Nybegynder
12. marts 2001 - 06:31 #9
Ja det er en sær en. Jeg har set samme problem i tabelceller og sågar i hele .html filer.
Jeg plejer at skrive et enkelt &nbsp; for at give den noget skrivbart.
Avatar billede pollas Nybegynder
12. marts 2001 - 16:57 #10
Det sjove (eller måske nærmere triste) var blot, at en enekelt &nbsp; ikke var nok - der ville så blot blive skiftet farve i en bredde svarende til denne...
Avatar billede jakoba Nybegynder
12. marts 2001 - 23:47 #11
en måske lidt fixere fylder er ku være <img src=\"transparent1x1.gif\" width=200 height=200> . det fylder da lidt mindre end tabellen :-))
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester