Avatar billede dd_ns Nybegynder
21. marts 2002 - 10:14 Der er 17 kommentarer

flytbare layers i faste positioner i tabeller?

Hvis jeg har en masse layers der kan flyttes rundt, og skal KUN kunne passe ned i tabeller, hvordan gør jeg så...???
Avatar billede clatuna Nybegynder
21. marts 2002 - 10:28 #1
Hvis jeg forstår dig ret:

Hvis du bruger<div  style="position:relative; top: 0; left:0;">indhold</div> i  en tabelcelle positioneres indhold i forhold til cellens øverste venstre hjørne
Hvis du bruger<div  style="position:absolute; top: 0; left:0;">indhold</div> i  en tabelcelle positioneres indhold i forhold til hele dokumentets øverste venstre hjørne

Er det problemstillingen
Avatar billede dd_ns Nybegynder
21. marts 2002 - 10:38 #2
hmmm, måske:

Hvis vi nu siger at jeg har dette:

<table>
<tr>
    <td>1</td>
    <td></td>
    <td></td>
</tr>
<tr>
    <td></td>
    <td>2</td>
    <td></td>
</tr>
<tr>
    <td></td>
    <td></td>
    <td>3</td>
</tr>
</table>


Og jeg ønsker at flytte mit layer der er i felt 1 til td 3.

forstår du?

Det er noget ala, jubii's min jubii, under kontrolpanel, hvor man kan vælge position af de ønskede bokse.
Avatar billede janegil Nybegynder
21. marts 2002 - 10:47 #3
Jeg tror ikke ddatuna har helt rett, men venter på å få klargjort problemstillingen.
Avatar billede dd_ns Nybegynder
21. marts 2002 - 10:48 #4
Okay, jeg kan også prøve at sige det på en anden måde... Jeg har 3 td'er.

Så har jeg et layer... Og så vil jeg gerne kunne flytte rundt på det layer... Men det skal kun kunne side i en af de 3 td'er.
Avatar billede clatuna Nybegynder
21. marts 2002 - 11:16 #5
Jeg troede,  jeg forstod dit problem. Lige nu regner jeg med, at du vil flytte dine layers rundt med dhtml så de placeres relativt i forhold til den tabelcelle, de skal placeres i. Ja??
Avatar billede dd_ns Nybegynder
21. marts 2002 - 11:18 #6
Ja, de skal kun kunne være placeret i td'er!
Avatar billede clatuna Nybegynder
21. marts 2002 - 11:21 #7
hvis ikke det drejer sig om at positionere relativt med style="position:relative;", kender jeg ikke andre svar
Avatar billede dd_ns Nybegynder
21. marts 2002 - 11:23 #8
kom med et eksempel
Avatar billede janegil Nybegynder
21. marts 2002 - 11:48 #9
Så er det kanskje ikke position som er rette verktøyet, men DOM-programmering. Positioning brukes til å flytte rundt på ting geometrisk, men om jeg forstår deg rett, vil du gjerne ha en DIV plassert logisk i en TD? Evs. at om TD'en av en eller annen grunn kommer et annet sted, så skal DIV'en flytte med?

appendChild fra http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-184E7107 osv., Nokså tung lesning. Resultatet er skripter som kjører i IE5.5 og N6, men ikke N4 og Opera. Alternativt skripting med innerHTML, det virker også i N4, men er paradoksalt nok ikke standard.
Avatar billede janegil Nybegynder
21. marts 2002 - 12:05 #10
http://landsbank.fo/test/movin_div.html

theDiv = document.getElementById("d");
theCell= document.getElementById("h");
theCell.appendChild(theDiv);
Avatar billede jakoba Nybegynder
21. marts 2002 - 12:13 #11
måske dette eksempel kan hjælpe
http://hjem.get2net.dk/Jakob.Aggernaes/temp/exp68543.html

de absolut placerede lag lægger sig samme sted som den relative <div der er indhold i tabelcellen.

en noget nemmere løsning der måske kan bruges er blot at lave billedskift så det billede der før var i een celle nu er i en anden. Det er det der gøres her:
http://www.jakoba.dk/eksperten/puslespil/exp130136.html

mvh JakobA
Avatar billede dd_ns Nybegynder
21. marts 2002 - 12:24 #12
Det skal kunne gøres med musen, drag and drop
Avatar billede janegil Nybegynder
21. marts 2002 - 12:51 #13
Så skal du til med muse-events. Jeg har nå implementert 'drop' på ONMOUSEUP, for dine formål skal du nok tilsvarende implementere 'drag' på ONMOUSEDOWN.

(fortsatt http://landsbank.fo/test/movin_div.html)
Avatar billede dd_ns Nybegynder
21. marts 2002 - 12:52 #14
i laver og for point, og blvier glad!!!
Avatar billede olebole Juniormester
22. marts 2002 - 01:35 #15
<ole>
janegil >> innerHTML fungerer ikke i NS4  ;o)

dd_ns >> Du kan drag'e på sædvanlig vis og så spørge til cellernes begrænsnde koordinater. Er drag-objektets yder koordinater udenfor eller lig med cellens, disables drag funktionen.
Dan Steinman's tutorial er godt nok forældet, men du kan prøve at se på den:
  http://www.dansteinman.com/dynduo/
Check hans hoved funktions bibliotek 'dynlayer.js' eller i 'drag.js'. Her er en funktion, han vist nok kalder 'isWithIn()' eller noget i den stil ... det er meget længe siden, jeg har haft fat i dem.
På hans site ligger også et link til det sted, hvor gruppen, der viderefører hans tutorial, holder til.
Prøv at check det ... vi er mange, der har trådt vores 'barne-DHTML-sko' der.
Og nej, Eksperten er 'Hjælp til selvhjælp' ... jeg koder ikke færdige løsninger for points - de koster 6-900 kr/time - afhængig af opgaven :)
/mvh
</bole>
Avatar billede dd_ns Nybegynder
25. marts 2002 - 09:26 #16
oldbole... Tak for det.
Men du skriver "Og nej, Eksperten er 'Hjælp til selvhjælp' ... jeg koder ikke færdige løsninger for points - de koster 6-900 kr/time - afhængig af opgaven :)"

Du har før lavet noget for mig, med fuld kode. Så det passer ikke helt. Men det kan være at det er ny stil!
Avatar billede olebole Juniormester
25. marts 2002 - 11:24 #17
Selvtak  ;o)

Ja, man kan vel godt kalde det en ny stil - selvom de færdige eksempler fra min hånd netop kan tælles på én hånd.
Der har desværre været en tendens på stedet til, at mange nye brugere af E - som en selvfølge - har forventet hele løsninger. Derfor har mange af os 'gamle' svarere strammet en del op omkring emnet ... det er ikke noget personligt  ;o)
/mvh
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