24. februar 2000 - 23:09 Der er 46 kommentarer og
1 løsning

Select forms kontra Z-index - HJÆÆÆÆÆLP

Many points here my fellow danericans...

Gå lige ind på www.net-commerce.dk/bridema/index.asp

Plant din mus over "OM BRIDEMA"

Bemærk venligst at dropmenuen går over den nederste textform, men ikke den øverste <select> tag.

Brug evt. VIEW SOURCE.

Jeg har brugt z-index, samt position:absolute på dem, og den eneste fejl er den skide select tag.

Who can do da trick, uden at skulle ændre hele mollevitten.

Det rigtige svar er ventet med spænding...

;) Lars
NetCommerce
Avatar billede jumper Nybegynder
24. februar 2000 - 23:17 #1
Du kan IKKE! Sorry to say ;)

I IE er SELECT boxe ALTID øverst, uanset z-index på NOGET!

I NS er det ALLE form elementer.

Det eneste du kan gøre er at smide SELECT boxen ind i et lag og ændre dets clipping area.

/Thor
24. februar 2000 - 23:21 #2
Dahhh, jeg tænkte det nok. Min nordvestjydske lodne krop vil så gerne have det lavet.
Var det noget for dig THOR ? ;)))) fedte fedte !!!
24. februar 2000 - 23:22 #3
jeg afviser lige dit svar, da jeg vil have lidt mere kode for pointsene ok ;)
Avatar billede erikjacobsen Ekspert
24. februar 2000 - 23:39 #4
Jeg har netop haft samme problem, og har tænkt mig, men endnu ikke prøvet,
at lægge <form>-en på en <div> for sig, og så sætte passende z-indexer.
Måske - jeg skal til det om et par dage! Og ellers lytter jeg med.
24. februar 2000 - 23:44 #5
Cool Erik JayJay...

Jeg bruger oxo div, om jeg har brugt dem rigtigt kan man jo aldrig vide ?!?

Det jeg ikke forstår hvorfor den nederste txt-form kan gå under, og kun  select området går over ???

Jeg har brugt den med at ligge i layers, ligesom Microsoft, ja lad os da bare indrømme det...
JEG HUGGEDE DET SGU FRA DEM, og tilrettede det til mit.
MEN... Bemærk venligst at mit er centreret på skærmen, og så går den gal i layers når du reszer din browser. Derfor er den ubrugelig...
Avatar billede jumper Nybegynder
24. februar 2000 - 23:47 #6
Du kan ikke gøre det blot ved at lægge dem i en DIV og sætte korrekt z-index.

Hvis det ikke var fordi menuen kun folder sig ned over noget af SELECT boxen, men det hele, kunne du blot have smidt SELECT boxen i en DIV og skjule den DIV.

Nu skal jeg jo til at lave noget kode til dig der ændrer det DIVs clipping area ;)

Strax tilbage ;)

/Thor
24. februar 2000 - 23:50 #7
Oh darn, you sure is good massa !
Avatar billede erikjacobsen Ekspert
24. februar 2000 - 23:52 #8
Ok, pnp. Punkt 1: jeg synes du skal køre din HTML igennem en HTML-checker.
Du starter en <table> og afslutter med en </body> inden din egentlige <body>.
Det er noget rod (og får netscape til at dø).

Punkt 2: så har du jo ikke formen på en <div>, vel? Lidt svær at se. Lad os lige
se hvad Thor skriver.
25. februar 2000 - 00:02 #9
Jeps jeps, jeg er slet ikke færdig med at pudse det af...
Det ved jeg godt.
Sunday is cumong up, og jeg regner med syndsforladelse dér.

Det allersidste jeg plejer at gøre, er at finpudse, og optimere til NS.
Forgive my sins, men jeg er mest til MS iexpl.
Avatar billede caledonia Nybegynder
25. februar 2000 - 00:02 #10
Jow, han har formen på div.

Men PNP, hvad med at lave en drop down dhtml menu under et std. input felt så det ligner et rigtigt dropdown felt? Så er du ude over det problem og du har en lækker dropdown.
Avatar billede erikjacobsen Ekspert
25. februar 2000 - 00:06 #11
Caledonia: han har sgu da ikke formen på en <div> !

Følgende er noget rod - det er bare til eksperiment:

Det øverste <div> med id gryf er en pop-upcalender. Starter hidden.
Der andet <div> med id non2 er egentlig det der stod på siden
oprindeligt. Nu har jeg høvlet det ind i en <div> med lavere <z-index>.
Og se: popupvinduet kommer ovenpå text-feltet!

Ren magi - jeg ved ikke hvad der sker .. ;-)



<body bgcolor="#C0C0C0" topmargin=2 leftmargin=5">

<div id='gryf' style='position: absolute; top: 50px; left: 100px; height: 200px; width: 400px; background-color: #FF7777; layerbackground-color: #FF7777; visibility: hidden; z-index: 5'>
her
</div>

<div id='non2' style='position: absolute; top: 0px; left: 0px; width:500px; background-color: #EEFFEE; layerbackground-color: #EEFFEE; z-index: 0'>
<A HREF="java script:document.all['gryf'].innerHTML=Calendar(1,2000);">prøv det</a>
<A HREF="java script:document.all['gryf'].innerHTML=Calendar(2,2000);">prøv det</a>
<A HREF="java script:layerWrite('gryf',Calendar(3,2000));">prøv det</a>

<FORM name="f">
<input type="text" name="hej" readonly>
<script language="javascript">
  textfield=document.f.hej
</script>
</FORM>
</div>
25. februar 2000 - 00:07 #12
Mjello Caledonia (B.B. King?)
Tjo det kunne man gøre.
Grunden til at det ser ud til at være noget rod jeg har på siden, er at det egentlig er 3 ASP filer...
DHTML har jeg ikke rigtig sat mig ind i endnu.
ASP kan jeg, men DHTML har jeg ikke haft tiden til endnu...

Jeg afviser lige dit svar, da de 300 point skal gives til en løsning

;) Lars
25. februar 2000 - 00:10 #13
Erik.

jeg tester lige din idé, og vender tilbage...
Avatar billede caledonia Nybegynder
25. februar 2000 - 00:11 #14
Siger du jeg er fed ???

:o) - Caledonia er keltisk for "the high land" (skotland)

erik: Jow han har sgu da! ;o) Han har placering og størelse, det skulle jeg mene gør den i god form (ho... ho...)
Avatar billede erikjacobsen Ekspert
25. februar 2000 - 00:12 #15
I kan prøve det på:

  http://www.hasselager.net/calendar.htm

Tryk på det tredie "Prøv det".
25. februar 2000 - 00:15 #16
>>ERIK.

Jeg ser godt hvad du mener.
Men kig på min igen.
det er kun når det er en SELECT box den er gal...

Nice homepage btw... ;)
Avatar billede erikjacobsen Ekspert
25. februar 2000 - 00:15 #17
Caledonia: I hvilket linienumer starter den <div> som hans form ligger i, den form,
der starter i linie 559 - og den i linie  584 ?
Avatar billede erikjacobsen Ekspert
25. februar 2000 - 00:17 #18
Du har jo ret pnp. Hang on.
Avatar billede erikjacobsen Ekspert
25. februar 2000 - 00:20 #19
Øv - jeg blev vist lidt for begejstret. Ja, en select-box kommer ovenpå.
Og i netscape komme både text og select-er ovenpå. Øv, øv, øv.

Skal vi ikke finde et andet erhverv - fårefarmere på Shetlandsøerne ?
Avatar billede caledonia Nybegynder
25. februar 2000 - 00:20 #20
erik: Det er jo ikke oven på tekst feltet men dropdownfeltet.

Det er på et helt andet nivau man ikke kan snyde sig ud af... En SELECT box er ikke en del af IE canvas'et. Det samme gør sig gældne med (de fleste) andre ActiveX controls.

erik: Via .offsetTop
25. februar 2000 - 00:23 #21
Damn hvor er i hårde !!

Hvorfor kan alt ikke være som VB og ASP ;(( dryp dryp ! ));
Avatar billede caledonia Nybegynder
25. februar 2000 - 00:25 #22
Hov hov pnp, du ser skam da ud til at være sluppet ganske godt fra det. Du er bare rendt ind i et umuligt problem med dhtml.

Trøste trøste! :o)
25. februar 2000 - 00:28 #23
YAhhhh.
Det er sgu lidt trals at have så travlt i hverdagen, at man ikke har tid til det man burde øve sig i.
Man burde tage et års orlov, men mit job er for spændende...
Avatar billede jumper Nybegynder
25. februar 2000 - 01:00 #24
Du har et link

<a href="#" onmouseOver="show('menuOmBridemaopen')" onmouseOut="hide('menuOmBridemaopen')">Om Bridema</a>

Lav det om til

<a href="#" onmouseOver="show('menuOmBridemaopen');document.all.quickmenuoptions.style.clip = 'rect(auto 100 auto auto)'" onmouseOut="hide('menuOmBridemaopen');document.all.quickmenuoptions.style.clip = 'rect(auto auto auto auto)'">Om Bridema</a>

Værdien 100 ved onmouseover kan du selvfølgelig ændre alt efter hvor meget der skal skjules fra højre side af select boxen.

/Thor
25. februar 2000 - 23:22 #25
Hej venner ??

Jeg er tilbage igen, efter en lang dag på netcommerce.

>>THOR, Jeg tester lige og vender tilbage i løbet af natten.
Avatar billede jumper Nybegynder
25. februar 2000 - 23:25 #26
Okay, sig lige til om det virker, jeg skrev det blot ud fra hukommelsen ;)

/Thor
27. februar 2000 - 21:16 #27
>> THOR !
Jeg har testet. det virker delvist !!

Den lille grå ting til højre i selecten forsvinder.
Så mangler vi kun resten ;))
Avatar billede jumper Nybegynder
28. februar 2000 - 06:20 #28
pnp, så skal du blot forøge tallet 100, indtil så meget af select boksen er væk som du vil have ;)

<a href="#" onmouseOver="show('menuOmBridemaopen');document.all.quickmenuoptions.style.clip = 'rect(auto 200 auto auto)'" onmouseOut="hide('menuOmBridemaopen');document.all.quickmenuoptions.style.clip = 'rect(auto auto auto auto)'">Om Bridema</a>

Nu står der 200, så fjerner den dobbelt så meget ;)

Juster blot tallet selv, indtil du er tilfreds ;)

Forresten, fedt at det virkede, som caledonia selv nævnte var det "umuligt" (hehe) ;)

/Thor
28. februar 2000 - 18:50 #29
Thor !
Jeg tester lige, og vender tilbage med point !

Hvilken browser bruger du ?

Virker dette med iexp. 4.0 ?
Avatar billede jumper Nybegynder
28. februar 2000 - 18:59 #30
Yep, det virker også med IE 4 ;)

Jeg lavede det dog ike til NS4+, men skal det også virke under det? ;)

/Thor
28. februar 2000 - 19:01 #31
DAmn mon NS har en ver. som kan køre på min W2000 ?
29. februar 2000 - 08:13 #32
Here u go boss....
Avatar billede jumper Nybegynder
29. februar 2000 - 21:32 #33
Hey, det virker skam ;)

Sig blot til hvis det også skal virke i Netscape, den understøtter også cliiping på dens lag ;)

Ved NS er det dog ALLE form elementer der altid liggger øverst *G*

/Thor
29. februar 2000 - 23:24 #34
Der er dog et lille problem Thor...

Prøv at bevæge musen langsomt fra højre mod venstre.
Lige når du rammer "Om Bridema" ser du at den ikke går over selecte'n ??

HAr du en løsning på dette ?

http://www.net-commerce.dk/bridema/index.asp

Avatar billede jumper Nybegynder
29. februar 2000 - 23:40 #35
Ehm, det virker da fint hos mig?!?

Kan du ikke tage et screenshot, så kan jeg se hvad der sker hos dig.

/Thor
29. februar 2000 - 23:46 #36
UPPPPSSS!!!

FRA VENSTRE MOD HØJRE.

Fuk! Den er da helt gal med mig...

Avatar billede jumper Nybegynder
01. marts 2000 - 00:01 #37
Drop onmouseover og onmouseout ved selve linket og behold det kun ved DIV'en udenom.

Så du skal rette

<div align="left" id="menuOmBridema" onmouseOver="show('menuOmBridemaopen')" onmouseOut="hide('menuOmBridemaopen')">

til at være

<div align="left" id="menuOmBridema" onmouseOver="show('menuOmBridemaopen');quickmenuoptions.style.clip = 'rect(auto 200 auto auto)'" onmouseOut="hide('menuOmBridemaopen');quickmenuoptions.style.clip = 'rect(auto auto auto auto)'">

og fjerne det følgende

<a href="#" onmouseOver="show('menuOmBridemaopen');document.all.quickmenuoptions.style.clip = 'rect(auto 200 auto auto)'" onmouseOut="hide('menuOmBridemaopen');document.all.quickmenuoptions.style.clip = 'rect(auto auto auto auto)'">Om Bridema</a>

HELt fra dokumentet ;)

/Thor
Avatar billede jumper Nybegynder
01. marts 2000 - 00:06 #38
Eller rettere, blot fjerne selve onmouseover og onmouseout, så det her

<a href="#" onmouseOver="show('menuOmBridemaopen');document.all.quickmenuoptions.style.clip = 'rect(auto 200 auto auto)'" onmouseOut="hide('menuOmBridemaopen');document.all.quickmenuoptions.style.clip = 'rect(auto auto auto auto)'">Om Bridema</a>

bliver til det her

<a href="#">Om Bridema</a>

Så vil du stadig have den samme hover effect som du havde før fra stylesheet'et ;)

/Thor
01. marts 2000 - 00:08 #39
Det skal sgu lige testes, og Thor...
Du er fanmer en knæjs, som vi siger i Hanstholm(det mørkeste vestGylland)
Avatar billede jumper Nybegynder
01. marts 2000 - 00:11 #40
Hehe, knæjse havde vi da også i det virkelig mørke sønderGylland, hvor jeg boede før ;)

/Thor
01. marts 2000 - 00:22 #41
Der kommer en fejl nu.
Jeg har VB6, og den kommer med en fejl som siger:

"A runtime error has occurred.

Line 287
Error: 'quickmenuoptions' is undefined
Avatar billede jumper Nybegynder
01. marts 2000 - 00:24 #42
Oh sorry, skriv document.all.quickmenuoptions

<div align="left" id="menuOmBridema" onmouseOver="show('menuOmBridemaopen');document.all.quickmenuoptions.style.clip = 'rect(auto 200 auto auto)'" onmouseOut="hide('menuOmBridemaopen');document.all.quickmenuoptions.style.clip = 'rect(auto auto auto auto)'">

Bare mig der ville spare lidt plads hvis jeg kunne ;)

/Thor
01. marts 2000 - 00:32 #43
Thanx Thor.
Do æ en gur knæjt !

Avatar billede jumper Nybegynder
01. marts 2000 - 00:38 #44
I know *G*

Tja, jeg havde faktisk overvejet hvordan man kunne gøre noget ved den "feature" i IE og NS. I IE er det kun SELECT elementer der altid er øverst, i NS er det ALLE form elementer.

Så nu skriver jeg sgu' en lille Javascript API der klarer det for mig, så kan jeg altid bare inkludere den (<script language="Javascript" src="fixFormZIndex.js">)

eller noget.. ;)

/Thor
01. marts 2000 - 00:40 #45
Jamen er der mulighed for at den kommer min vej ;)
Evt. hvor mange point !! ;)))

!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!Fedte!
Avatar billede jumper Nybegynder
01. marts 2000 - 00:47 #46
Heheheh ;)

Det kunne da være, jeg skal lige lave den først ;)

Jeg havde tænkt mig at lave det så man blot inkluderer filen og så aldrig skal bekymre sig om det mere ;)

I Netscape kan jeg tilføje nye funktioner direkte til Layer objektet, ærgeligt at jeg ikke kan på samme måde i IE ;(

Men pyt, det finder jeg nok ud af ;)

Du kan bare smide en mail i hovedet på mig, så skriver jeg tilbage når jeg har lavet den ;)

/Thor
01. marts 2000 - 00:48 #47
Jamen doch da ich will das tunen ?!?

Lars@Net-Commerce.dk

Der kan du fange mig det meste af døgnet.

;) Og tak Thor...
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