Avatar billede stoffer Nybegynder
31. marts 2000 - 11:13 Der er 13 kommentarer og
1 løsning

Layer probs i NS

Hej

Jeg har disse div tag's, som død og kritte SKAL ligge inden for td'en. Dette virker fint i IE, men i NS ligger den teksten i øverste venstre hjørne.

Jeg kan ikke sætte top og left på, da jeg har tekst rundt om som kan rezises og så vil teksten blive placeret forkert i forhold til mit layout.

Jeg kan ikke bruge position:relative, da NS så laver plads til alle lagene (jeg har en hide/show layer funktion), og td'en bliver derfor for lang.

position:static virker heller ikke i NS.

Er der nogen der har et godt forslag til en løsning - et eller andet tag jeg ikke kender til?


--------------------------- eksempel ---------------------------------
<td align="left" valign="top" height="181"><FONT face="Arial, Helvetica, sans-serif" size="2">

<div ID="div1" style="position:absolute; visibility:hidden; z-index: 1">
                                           
                                                asdfasdfasdfad                                               

                                            </div>
   
                                            <!-- ## Forklarende tekst til 2. spørgsmål -->
                                            <div ID="div2" style="position:absolute; visibility:hidden; z-index: 2">
                                           
        asdfasdfasdfasdfasdfasd                                               
                                            </div>
   
                                            <!-- ## Forklarende tekst til 3. spørgsmål -->
                                           
                                            <div ID="div3" style="position:absolute; visibility:hidden; z-index: 3">
                                           
        dsafasdfasdfasdfasd                                                                       
                                            </div>

</td>
                                           
Avatar billede hmau Nybegynder
31. marts 2000 - 11:39 #1
Jeg ved at med NS skal syntaksen være i orden ellers sker der spændende ting. Så først og fremmest kan du jo afslutte dit <font> tag. Jeg tror dog ikke at det hjælper den helt store...
Avatar billede knogle Nybegynder
31. marts 2000 - 12:02 #2
NS skodder.. så'en er det bare - kan NS overhovedt CSS ? *G*
Avatar billede stoffer Nybegynder
31. marts 2000 - 12:05 #3
Hmmm,

ikke for at irritere, men jeg vil gerne have lidt brugbar info - ikke skrive mere om at NS skodder - det ved jeg


hmau ---> jeg har bare ikke pastet slut fonten med. Min syntax er 100% korrekt.

Jeg kunne forestille mig at én lavede en smart funktion som bruger innerWidth og innerHeight
Avatar billede stoffer Nybegynder
31. marts 2000 - 13:02 #4
nu synes jeg godt at folk kunne forsøge at svare ;)

pointsum hævet fra 60 - 100
Avatar billede knogle Nybegynder
31. marts 2000 - 13:18 #5
Sorry stoffer, jeg ved intet om netscape.. og jeg tager aldrig højde for NS Brugere på mine sider, netcoders.dk lavede en browser statestik.. og den viste at 95% af brugerene brugte MSIE..
Avatar billede stoffer Nybegynder
31. marts 2000 - 13:43 #6
jeg har rodet lidt med:

var intWidth = parseInt(window.innerWidth - 483) ;       
var intHeight = parseInt(window.innerHeight - 250);


if (document.layers) {
                obj.moveTo(intWidth,intHeight);
            }


jeg kan ikke få den til at sige f.eks. (her prøver jeg at få den til at flytte det skærmvis)

var intWidth = parseInt(window.innerWidth - 20%) ;       
var intHeight = parseInt(window.innerHeight - 30%);
Avatar billede stoffer Nybegynder
31. marts 2000 - 13:43 #7
doh! skærmvis = procentvis
Avatar billede stoffer Nybegynder
31. marts 2000 - 13:44 #8
Hvordan kan jeg flytte den procentvis?????????????
Avatar billede olebole Juniormester
01. april 2000 - 04:59 #9
<ole>
Det her er, hvad jeg lige kunne bikse sammen. Det er REN NS-kode, men jeg kan vel godt gøre den X-browser...hvis du plager lidt...Hehe ;-)
Forløbig kan du se, om det er noget, du kan bruge. Jeg har kommenteret det temmelig grundigt, men er der spørgsmål, må du bare klø på.

<html>
<head>
<script language="JavaScript"><!--

// Antal af lag:
var num = 3;
// Opretter og fylder et array med objekter - der repræsenterer lagene - og starter 'flytte' funktionen:
myLayers = new Array();
function myInit() {
    for (i=0;i<num;i++) {
        myLayers[i] = new makeObj('div'+(i+1));
    }
    flyt();
}
// Funktioner til at lave objekterne med:
function makeObj(which) {
    this.bla = eval('document.layers.'+which);
    this.width = this.bla.document.width;
    this.height = this.bla.document.height;
    this.x = this.bla.left;
    this.y = this.bla.top;
    this.moveIt=myMoveIt;
    return this;
}
function myMoveIt(x,y){
    this.x=x; this.y=y; this.bla.left=this.x; this.bla.top=this.y
}
// Finder det breddeste lag:
function getBroad(stInx) {
    if (!stInx) { j = 0;}else{ j = stInx;}
    while (j<myLayers.length-1) {
        if (myLayers[j].width < myLayers[j+1].width) {
            if (myLayers[j+1]==myLayers[myLayers.length]) {
                return myLayers[j+1];
            }else{
                getBroad(j+1);
            }
        }else{
            j++;
        }
    }
    return myLayers[j].width;
}
// Finder det højeste lag:
function getHigh(stInx) {
    if (!stInx) { j = 0;}else{ j = stInx;}
    while (j<myLayers.length-1) {
        if (myLayers[j].height < myLayers[j+1].height) {
            if (myLayers[j+1]==myLayers[myLayers.length]) {
                return myLayers[j+1];
            }else{
                getHigh(j+1);
            }
        }else{
            j++;
        }
    }
    return myLayers[j].height;
}
// Selve 'flytte' funktionen
// docWidth = dokument-bredde
// getBroad() returnerer bredden på det breddeste lag
// v_delta = det antal pixels, lagene skal flyttes ind
function flyt() {
    var docWidth = window.innerWidth;
    var docHeight = window.innerHeight;
// **********  Her laver du din beregning  ************
    v_delta = (docWidth - getBroad())/2;
    h_delta = (docHeight - getHigh())/2;
// ****************************************************
    for (i=0;i<myLayers.length;i++) {
        myLayers[i].moveIt(v_delta,h_delta);
    }
   
   
}

onload=myInit

// -->
</script>
</head>
<body>
<table border=3>
<tr>
<td align="left" valign="top" height="181"><FONT face="Arial, Helvetica, sans-serif" size="2">

<div ID="div1" style="position:absolute; visibility:visible; z-index: 1">
                                           
asdfasdfasdfad                                               

</div>
   
<!-- ## Forklarende tekst til 2. spørgsmål -->
<div ID="div2" style="position:absolute; visibility:visible; z-index: 2">
                                           
asdfasdfasdfasdfasdfasd                                               
</div>
   
<!-- ## Forklarende tekst til 3. spørgsmål -->
                                           
<div ID="div3" style="position:absolute; visibility:visible; z-index: 3">
                                           
dsafasdfasdfasdfasd                                                                       
</div></td>
</tr>
</table>

</body>
</html>

Jeg har gjort dine lag synlige, så det var til at se, hvad jeg lavede...det kan du selv lige lave om.

/VH
</bole>
Avatar billede olebole Juniormester
01. april 2000 - 05:04 #10
Og så bør du sætte dine font specifikationer i style-sheets.
Avatar billede olebole Juniormester
01. april 2000 - 06:04 #11
En højt kvalificeret gang ÆVL...Hehe

I modsætning til de to funktioner ovenfor, virker de her:

// Finder det breddeste lag:
function getBroad() {
    var broadest = 0;
    for (j=0;j<myLayers.length;j++) {
        if (myLayers[j].width > myLayers[broadest].width) {
            broadest = j;
        }
    }
    return myLayers[broadest].width;
}
// Finder det højeste lag:
function getHigh() {
    var highest = 0;
    for (j=0;j<myLayers.length;j++) {
        if (myLayers[j].height > myLayers[highest].height) {
            highest = j;
        }
    }
    return myLayers[highest].height;
}

Undskyld...!
Avatar billede olebole Juniormester
04. april 2000 - 07:14 #12
Er du der, stoffer???
Avatar billede stoffer Nybegynder
04. april 2000 - 09:41 #13
hej ole :)

Undskyld jeg ikke har skrevet tilbage - men jeg arbejder ikke i weekenden (hehe)

Jeg har allerede løst det faktisk. Jeg kunne af en eller anden grund ikke komme ind på eksperten hele fredagen....

Jeg fandt ud af at PageY og PageX er dem der virker i NS, og så kunne jeg simpelthen bare returnere et fast relativt lags coordinater og placere de nye lag dér. Men det er en smart måde du har gjort det på.

Du fortjener i hvertfald alle pointsne og dit script vil afprøve til lidt andre ting. Tak!!!
Avatar billede olebole Juniormester
04. april 2000 - 11:22 #14
Tusind tak ;-)
Din er da heller ikke så tosset!
Du skal bare passe lidt på NS og relativt placerede lag...den bryder sig ikke rigtig om dem.
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