Efter ti år i London, Madrid, Paris og Utrecht kommer Sabios AI-fokuserede program af arrangementer om kundeoplevelser, ‘Disrupt’, for første gang til Danmark.
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...
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..
<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); }
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 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!!!
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.
Synes godt om
Ny brugerNybegynder
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.