Vanliga dropdown-lister är det ju inga problem med, de syns även om ramen är för liten. Men det funkar inte att lägga lager över frames.
http://www.webforum.nu/showthread.php?s=&postid=106908#post106908
Dropdown över frames
11 svar · 662 visningar · startad av Gustav
Ok, illa!
Men...hur gör jag då med dom vanliga dropdown-menyerna?
Jag vill inte ha den där fula gråa fyrkanten med en liten pil i mitten som sitter längst till höger på varje meny.
Går den att ta bort kanske?
Tack!
Jag har inte testat något själv, men de här trådarna kanske kan hjälpa dig?
http://www.webforum.nu/showthread.php?s=&threadid=1049
http://www.webforum.nu/showthread.php?s=&threadid=873
Förresten...när man väljer ett alternativ i en sån där meny så "fastnar" ju det alternativet högst upp. Det är ju inte så roligt...jag vill ju alltid ha "överskriften" (selected) i rutan på menyn när den inte är utfälld.
Det måste väl ändå gå att fixa va?
Det är så select-menyer fungerar. Men du kan koperia värdet till ett gömt fält och använda det. Sedan nollställer du menyn.
<form>
<select name="foo" onChange="this.form.bar.value=this[this.selectedIndex].value; this.selectedIndex=0;">
<option>Detta visas hela tiden</option>
<option value="Val 1">Val 1</option>
<option value="Val 2">Val 2</option>
<option value="Val 3">Val 3</option>
</select>
<input type="hidden" name="bar">
</form>
Så här ser det ut:
<head>
<script language=JavaScript type="text/javascript">
<!--
function en(form,callingField)
{
parent.frames[1].location.href=form.till.options[form.till.selectedIndex].value
}
// -->
</script>
</head>
Sen så kommer det 8 stycken menyboxar, men jag väljer bara en...
<form action="*">
<select name="till" STYLE="background:#0075FF; width: 100; border-style:1px; font-size: 10; color: white; font-family: Tahoma;" onChange="en(this.form, this.name);" onChange="this.form.bar.value=this[this.selectedIndex].value; this.selectedIndex=0;">
<option><b>- Övrigt -</b>
<option>
<option value="http://www.mariterm.se"><b>start</b>
<option value="info.html">allmän information
<option value="kontakt.html">kontakta oss
<option>
<option value="http://www.mariterm.se/english/">in english
<option>
</select>
<input type="hidden" name="bar">
</form>
Har jag gjort rätt då eller är jag helt ute och cyklar...antagligen är jag det eftersom det inte funkar!
Trevlig helg på er alla!
Hoppla...
Vi kan börja med att skippa script-blocket. Det känns onödigt. Sedan har du 2 onChange-event i <select>-taggen, endast 1 är tillåtet. Hidden-fältet är i detta exempel onödigt (eftersom det inte används) och action="*" kan du också skippa (det finns ingen resurs vid namnet "*" ändå. Kvar blir alltså;
<form>
<select name="till" style="background:#0075FF; width: 100px; border:1px; font-size: 10; color: white; font-family: Tahoma;" onChange="if(this[this.selectedIndex].value){ parent.frames[1].location.href=this[this.selectedIndex].value; } this.selectedIndex=0;">
<option value="">- Övrigt -</option>
<option value="">&nbsp;</option>
<option value="http://www.mariterm.se">start</option>
<option value="info.html">allmän information</option>
<option value="kontakt.html">kontakta oss</option>
<option value="">&nbsp;</option>
<option value="http://www.mariterm.se/english/">in english</option>
</select>
</form>
Om jag tolkat ditt exempel rätt.
Hur menar du med "över" frames?
Att få menyn att visa sig i en annan frame är inga större problem.
Nu verkar det ju ha löst sig men hör av dig om du vill testa.
Edit:
- - - - -
Det går att få ett lager att lägga sig ÖVER själva frame kanten i IE 5.5+
Dock bara i IE
- - - - -
Du kan öppna ett ramlöstfönster så att det lägger sig över en frames-kant, och du kan från en frame kontrollera ett lager i en annan frame, men du kan inte få ett och samma lager att visas över 2 frames. Har du sett något sådannt vill jag gärna se exempel på det.
