Avatar billede kasper Nybegynder
10. april 2001 - 21:23 Der er 16 kommentarer og
3 løsninger

Onmouseover -> out

Når man laver onmouseover, kan man så bruge text, istedet for et billede?

og hvis - hvordan?
Avatar billede kasper Nybegynder
10. april 2001 - 21:24 #1
Altså det er noget text i en anden celle der skal skifte!
Avatar billede hyperactive Nybegynder
10. april 2001 - 21:27 #2
Du kan lægge teksten i layers, og så vise/skjule disse i onmouseover eventen.
Avatar billede engrob Nybegynder
10. april 2001 - 21:30 #3
Avatar billede kasper Nybegynder
10. april 2001 - 21:32 #4
Ok det lyder som noget af det jeg gerne vil vide noget mere om, hvis du kan give en lille walkthrough, du kan godt få flere points hvis du vil?!
Avatar billede kasper Nybegynder
10. april 2001 - 21:33 #5
Jeg er mere interesseret i basics omkring layers, jeg er ikke frygtelig skrap til DHTML og Javascript!
Avatar billede engrob Nybegynder
10. april 2001 - 21:37 #6
Altså layers er noget du kan lave med <div> og <span>

Dem giver du så nogen styles så de bliver placeret et sted på siden. Det smarte er så at du med javascript kan ændre de indstillinger du nu har givet laget. Du kan fx ændre om laget skal vises eller gemmes.
Og du kan så også ved onmouseover på et link skrive noget i laget, og så få det væk igen når du har musen udenfor.

En god tutorial er www.dansteinman.com/dynduo
Avatar billede Jman Praktikant
10. april 2001 - 21:43 #7
Avatar billede kasper Nybegynder
10. april 2001 - 21:45 #8
Jeg skal egentligt have lavet noget ret hurtigt, så hvis du kan poste noget kode, sådan at jeg kan lege med det selv, ville det være lækkert!

det jeg skal bruge er:

2 lag (skal kunne udvides til 6)

det ene skal skjule det andet, og det andet skal komme frem, når jeg laver mouseover på et link, desuden skal det ved mouseOut, forblive som det øverste lag!

bare kald dem lag 1 og lag 2!

Avatar billede engrob Nybegynder
10. april 2001 - 21:48 #9
Jeg er ikke sikker på hvad du mener. Vil du have en menu?
Hvis det er det, så synes jeg du skal kigge på www.bratta.com inde under scriptomania. Der er mange menuer...
Avatar billede engrob Nybegynder
10. april 2001 - 21:50 #10
Du kan også kigge på
http://www.dynamicdrive.com/dynamicindex1/sm/index.htm
og
http://www.dynamicdrive.com/dynamicindex1/topnavbar.htm
og en der virker i ns6
http://www.dynamicdrive.com/dynamicindex1/topmen3/index.htm

Ellers søg på dropdown menuer her på eksperten. Der vil helt sikkert komme en masse frem.
Avatar billede engrob Nybegynder
10. april 2001 - 21:50 #11
Avatar billede engrob Nybegynder
10. april 2001 - 21:56 #12
<html>
<head>
<script type=\"text/javascript\" language=\"javascript\">
function vis(id) {
      if (document.layers) document.layers[id].visibility = \"show\"
      else if (document.getElementById) document.getElementById(id).style.visibility = \"visible\"
      else if (document.all) document.all[id].style.visibility = \"visible\"
}

function gem(id) {
      if (document.layers) document.layers[id].visibility = \"hide\"
      else if (document.getElementById) document.getElementById(id).style.visibility = \"hidden\"
      else if (document.all) document.all[id].style.visibility = \"hidden\"
}
</script>
</head>
<body>
<a href=\"#\" onmouseover=\"vis(\'lag\')\" onmouseout=\"gem(\'lag\')\">Vis</a>

<div id=\"lag\" style=\"position:absolute; visibility:hidden; top:100; left:300; background-color:green; layer-background-color:green;\">Det er et lag</div>
</body>
</html>

Prøv at kigge på det og se om du selv kan lave lidt videre på det. Men jeg vil foreslå dig at downloade dynduoen på www.dansteinman.com/dynduo
Du lærer virkelig meget.
Avatar billede kasper Nybegynder
10. april 2001 - 22:06 #13
Jeg har D/L dynduoen, men har bestemt mig for at bruge dit (grundet tidspres:( )

Omkring <DIV> tags, og layers, er de ligeglade om der er tonsvis af tabeller under dem?

og hvis jeg skal have vist laget i én bestemt celle i en tabel, hvordan gøres det, skal jeg definere den absolutte position på siden, eller vil laget blive vist i den celle, hvor jeg har lagt <div></div>?
Avatar billede kasper Nybegynder
10. april 2001 - 22:20 #14
Det eneste jeg mangler er en funktion, der istedet for at gemme laget v. mouseout, lader det aktuelle lag være øverst og gemmer det andet lag, (en anden onmouseover) væk!

altså sådan at der kun bliver vist et lag af gangen, og laget bliver der ved mouseout!
Avatar billede engrob Nybegynder
10. april 2001 - 22:23 #15
Nåå, det er sådan en du vil have. Det nemmeste ville vist være at bruge noget der hedder en for-løkke, men jeg ved ikke helt hvordan. Jeg kan lige prøve og se om jeg kan lave noget.
Avatar billede kasper Nybegynder
10. april 2001 - 22:32 #16
Og igen spørger jeg lige:)

skal man definere fast, hvor laget skal vises, (dit ex. top:100; left:300; ) eller kan man placere <div></div> inden i en celle i en tabel, hvor laget skal vises, og så få det vist der altid, uden problemen??
Avatar billede engrob Nybegynder
10. april 2001 - 22:45 #17
Nej, du bliver nødt til at lægge et lag oven i det hele. Du kan ikke placere det i en celle uden problemer, men jeg fand ud af at det du nok ville have var noget lignende www.abusiness.dk \'s menu, så jeg har lige prøvet at lave den med to lag.
<html>
<head>
<script type=\"text/javascript\" language=\"javascript\">
// MENU SCRIPT

// ##################################################################
// ###          Copyright 2000, Abusiness, Lars Skjoldby          ###
// ##################################################################

// Antal menuer
numMenus = 2

// Bestemmelse af browseren
n=document.layers;
ie=document.all;

// Globale cross-browser show/hide variabler
if (n) {
visible=\'show\';
hidden=\'hide\'; }

else if (ie) {
visible=\'visible\';
hidden=\'hidden\';}


// Funktion til at vise lag
function vis_lag(menuid){
for(i=1;i<=numMenus;i++)
if (menuid != \"menu\"+i) {


if(n) {
document.layers[menuid].visibility=visible;
tohide = document.layers[\"menu\"+i].visibility=hidden;}

else if (ie) {
document.all(menuid).style.visibility=visible;
tohide = document.all(\"menu\"+i).style;}

tohide.visibility = hidden;
}}
</script>

</head>
<body>

<a href=\"#\" onmouseover=\"vis_lag(\'menu1\')\">vis lag1</a>
<a href=\"#\" onmouseover=\"vis_lag(\'menu2\')\">vis lag2</a>

<div id=\"menu1\" style=\"position:absolute; visibility:visible; top:100; left:100;\">lag #1</div>
<div id=\"menu2\" style=\"position:absolute; visibility:hidden; top:200; left:100;\">lag #2</div>

</body>
</html>
Avatar billede kasper Nybegynder
10. april 2001 - 22:56 #18
Yep, det var lige akkurat det, som jeg skulle bruge!, men, jeg har lige prøvet at lægge et par lag <div></div> ind i et script i en celle uden absolut placering, og det lod til at den kunne forstå det nogenlunde?!! (det blev vist det rigtige sted)

Ellers 1000 tak for hjælpen!

jeg bekagler bi-sfæren
Avatar billede engrob Nybegynder
11. april 2001 - 00:28 #19
Selv tak!

Du vil nok få lidt problemer med netscape hvis du lægger lagene ind i en tabel.
Jeg har også lige fundet ud af at der sandsynligvis er en fejl i sciptet. Det er bare
if(n) {
document.layers[menuid].visibility=visible;
tohide = document.layers[\"menu\"+i].visibility=hidden;}

der skal rettes til
if(n) {
document.layers[menuid].visibility=visible;
tohide = document.layers[\"menu\"+i];}

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