15. december 2003 - 19:49Der er
56 kommentarer og 1 løsning
Positionering drop down tabel
Jeg har et problem med en java drop down tabel, som jeg angiver til at være positioneret x-antal px fra top. Dog sidder denne tabel helt galt hvis man har en højere opløsning m.m. Kan og i så fald hvor kan jeg positionere tabellen i %? Nedenstående er et uddrag af koden fra en af .js dokumenterne, hvor jeg er i stand til at angive px fra top (skrives i den der hedder oM.fromTop=) Det skal siges, at der også medfølger et css til tabellen, men har ikke været i stand til at ændre noget her. Håber dette var oplysninger nok!!! På forhånd tak! /Webrex
Ikke helt med hvad du mangler: men hvis du går ind på addressen: www10.brinkster.com/webfischer og evt. ændrer opløsning så vil du se at tabellen er fast positioneret til 93 fromtop, hvilket gør at de flyver rundt på siden når forholdene ændres som fx opløsning. Der kan du også se kilden ligger næsten nederst med en reference til Javatabelbody.js. Håber det var nok oplysninger!!! :-)
det ligner noget af det samme med jeg kan ikke umiddelbart uddrage en kode, jeg kan sætte ind i .js dokumentet. ...onResize hvad er det lige den betyder?
De tal i din link er vel i grunden også angivet i pixels... derfor menu position ændre sig hele tiden ved ændring af browser-vindue størrelse, skærmopløsning m.m.
jeg har været træt på det sidste og ser første nu at jeg har kaldt indlægget po.... af dr.. d... TABEL der er jo selfølgelig en menu (dhtml cool menu) som der er tale om!
Jeg vil nødigt være utålmodig, men jeg hvis man ulejliger sig tid til at løse mit irriterende problem, så er jeg mere end villig til at sætte pointene KRAFTIGT op! Så føler man jo også man får ud af noget som "problemløser"...
Jeg havde tænkt mig at smide den i et div, og så flyttet div'et.. men det kan jeg desværre ikke finde ud af. Måske kan en mere erfaren JavaScripter finde ud af det.
function getPos(elm) {//jumper for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent); return {x:zx,y:zy} }
Den bruges til at finde et bestemt elements offset, så man skal finde et element, som sidder på en bestemt måde i forhold til det element, som skal positioneres ...
Jeg har lige prøvet det, både i <td> og i <table>, men det virker ikke. Menuen placeres da omkring midt på siden lidt til højre. -af en eller anden grund.
Nej forkert! - prøvede lige igen med friske øjne - det VIRKER!!! men - nu lægger den menuen i td- tagget dvs. at dens fulde lægde (horisontialt starter i td-tagget inden mod midten af siden, ...dvs at menupunkterne ligger lidt for langt til højre. Hvad så? Kan man afkorte menuens længde??? Jeg kan selvfølgelig lægge den i et horisontial td tag over hele siden - så ville der ikke være problem - men jeg har disse marve i hver side på min hjemmeside som før nævnt???
Du kan se ændringen på: (kopier til adresse rubrik) http://www10.brinkster.com/webfischer/WebFischer.html grunden til at der er mellem rum mellem link knapperne i menuen, hvilket er svært at se i de første, er at jeg har sat oM.barWidth="0%"; hvis det var 100% ville det være en massiv linje hele vejen gennem marven til højre. Godt at have målet foran sig: Menuen skal selvfølgelig på plads - der hvor den var før. Problemet er at der er en standard afstand mellem start af menuen og første link knap. - hvis man kunne skære lidt af den ville den lægge sig på plads i midten.
(P.s. gjorde hvad du sagde mht. relativ positionering, men skulle dog også ændre fromtop og from left begge til 0.)
Måske ikke det rigtige sted at ændre - kan være deyt har uforudsete konsekvenser for udregningen af menuen. men når jeg ændrer 192 i nedenstående rykkes første link i menuen til venstre.
var avail="190+((cmpage.x2-235)/7)";oM.menuPlacement=new Array(192,avail+"-11",avail+"*2-8",avail+"*3-12",avail+"*4-7",avail+"*5-9",avail+"*6+5") if(!(bw.ie5&&bw.mac)) oM.construct()
Nå, Jeg har klaret det - slettede de der arrays se ovenstående. og definerede oM.MenuPlacement til 0 , derefter definerede jeg oM.pixelsBetween. Og så ændres afstanden mellem dem ikke når window ændres. Du får selvfølgelig point for spørgsmål om resize problem - ingen fast position. Så vil du være sød at svare så jeg kan give dig nogle point - Roeving!!! :)
Roeving - kan du ikke lige give livstegn fra dig! Jeg vil dog heller ikke virke utålmodig, idet du har vist det modsatte! Men hvis ikke du snart svarer må jeg lukke - DERFOR PÅKRÆV' dine POINT.
Jeg tror at roenving er på vej. Hvis han ikke er på vej, og du ikke gider vente mere, kan du give mig pointsne. Så får han dem, når han ser mit spm, som jeg opretter til ham.
webrex> Dit website er ikke særlig glad for Opera :( Jeg bruger Opera, og det ser ikke så godt ud.. menuen er placeret forkert.. indholdet kommer ikke der hvor det skal, osv..
Alle de dejlige funktioner! Der findes nogle spm om Opera og Mozilla, der lister en masse gode grunde til, hvorfor man skal skifte.. Der er vist også en artikel..
se f.eks. http://www.eksperten.dk/artikler/Programmer/Browsere/ Dammit.. kan ikke finde linket.. men jeg mener at det var athlon-pascal og jeg, der kom med nogle lange lister, med hvad man kunne i Opera og Mozilla..
Ja, vent lige - - grunden til at jeg gør sådan er - at 19/01 - 00:17:18 skrev roeving et svar til menuen som sad i et fast pixel fra top med den lille kode stump fik vi den til at sidde i <td></td>!
er ret irreteret - roeving har lige hjulpet med det der relative som virkede - men altså ikke i de andre??? Måske findes svaret på dhtmlcentral.com -...hmmm. meget muligt
function findPos(){ if (bw.ns4) { //Netscape 4 x = document.layers.layerMenu.pageX y = document.layers.layerMenu.pageY } else { //other browsers x=0; y=0; var el,temp el = bw.ie4 ? document.all["divMenu"] : document.getElementById("divMenu"); if (el.offsetParent) { temp = el while (temp.offsetParent) { //Looping parent elements to get the offset of them as well temp=temp.offsetParent; x += temp.offsetLeft y += temp.offsetTop; } } x += el.offsetLeft y += el.offsetTop } //Returning the x and y as an array return [x,y] }
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.