Avatar billede krang Nybegynder
09. september 2001 - 16:44 Der er 27 kommentarer og
1 løsning

Textbox-popup

Jeg skal lave et script der får en textbox til at poppe op over et billede når man laver mouse-over på billedet

textboxen skal jeg kunne ændre farver og størelse på, og den skal have en border, som jeg også kan ændre farve på

Hvordan gør jeg???


Hilsen Mikkel
Avatar billede roenving Novice
09. september 2001 - 16:45 #1
Så bliver du nødt til at lave et nyt window
Avatar billede roenving Novice
09. september 2001 - 16:48 #2
Altså en onMouseOver=\"var newWin=window.open(\'ditTekst.html\',\'BilledePopup\',\'width=33,heigth=22,top=312,left=214,toolbars=no\');\" onMouseOut=\"newWin.close();\"

hth
jes
Avatar billede krang Nybegynder
09. september 2001 - 16:51 #3
Undskyld, jeg har vist ikke forklaret hvad jeg mener:
Den skal ikke åbne et nyt window,
texten skal poppe up på selve siden
Avatar billede roenving Novice
09. september 2001 - 16:55 #4
Så skal du over i en layer (<div>), som så skal vises/skjules -- og så kan du have fuldt styr på farver, rammer, position, størrelse m.m.m.
Avatar billede krang Nybegynder
09. september 2001 - 16:56 #5
Hvordan gør jeg så det???
Avatar billede Slettet bruger
09. september 2001 - 16:56 #6
Det kan også bare gøres med en div:

<script>
<!--

ie = (!document.all) ? false : true
function visDiv() {
if (ie) {
document.all.minDiv.style.visibility = \"visible\"
}
else {
document.minDiv.visibility = \"show\"
}
}

function skjulDiv() {
if (ie) {
document.all.minDiv.style.visibility = \"hidden\"
}
else {
document.minDiv.visibility = \"hide\"
}
}

//-->
</script>

Og så noget HTML:

<div id=\"minDiv\" style=\"position:absolute; left:100; top:100; visibility:hidden;\">
<script>
<!--
skjulDiv()
//-->
</script>
<form>
<textarea cols=\"30\" rows=\"10\" style=\"background-color:red; border-style:solid; border-width:3; border-color:blue;\"></textarea>
</form>
</div>

Og i dit billede skal du så skrive følgende:
<img src=\"...gif\" onMouseOver=\"visDiv()\">
Avatar billede nikolajdu Nybegynder
09. september 2001 - 16:58 #7
<html>
<head>
<title></title>
</head>

<body bgcolor=\"#FFFFFF\" text=\"#000000\">
<div id=\"lag\" name=\"lag\" style=\"position:absolute; left:131px; top:145px; width:182px; height:110px; z-index:1; visibility: hidden\">blabla</div>
<a href=\"#\" onMouseover=\"document.getElementById(\'lag\').style.visibility = \'visible\';\" onMouseout=\"document.getElementById(\'lag\').style.visibility = \'hidden\';\">kuk</a>
</body>
</html>
Avatar billede Slettet bruger
09. september 2001 - 16:59 #8
De steder, du skal ændre er følgende:
Text-boksens position fra venstre>> left:100;
Text-boksens position fra toppen>> top:100;
Text-boksens farve>> background-color:red;
Text-boksens størrelse>> cols=\"30\" og rows=\"10\"
Text-boksens border-farve>> border-color:red;

Alt dette kan du altså bare ændre så meget, som du lyster!
Avatar billede nikolajdu Nybegynder
09. september 2001 - 17:01 #9
Skulle vist have opdateret... :-(
Avatar billede Slettet bruger
09. september 2001 - 17:02 #10
Ups: border-color:blue; ikke \"red\"

P.S. Jeg har ikke sat en onMouseOut på billedet, fordi du bare spurgte om en tekstboks, der poppede op og ikke lukkede. Men du kan altdi sætte en onMouseOut på:
<img src=\"...gif\" onMouseOver=\"visDiv()\" onMouseOut=\"skjulDiv()\">
Avatar billede krang Nybegynder
09. september 2001 - 17:02 #11
phoenixv: Hvordan får jeg den så til at forsvinde når musen går væk igen???
Avatar billede Slettet bruger
09. september 2001 - 17:03 #12
Se min nyeste kommentar!
Avatar billede Slettet bruger
09. september 2001 - 17:05 #13
Nåh nej, nærmere sådan her:
I textarea\'et skal du skrive følgende:
<textarea cols=\"30\" rows=\"10\" style=\"background-color:red; border-style:solid; border-width:3; border-color:blue;\" onMouseOut=\"skjulDiv()\"></textarea>

Du skal IKKE indsætte onMouseOut i billedet!
Avatar billede krang Nybegynder
09. september 2001 - 17:06 #14
Beklager, jeg er en klovn...
Det skal ikke være en textbox på den måde...
Man skal ikke kunne ændre texten
sorry...
det jeg mente var en box bare med text
Avatar billede Slettet bruger
09. september 2001 - 17:08 #15
Jamen, så gør du bare sådan her:

<div id=\"minDiv\" style=\"position:absolute; left:100; top:100; visibility:hidden; background-color:red; border-style:solid; border-width:3; border-color:blue;\" onMouseOut=\"skjulDiv()\">
<script>
<!--
skjulDiv()
//-->
</script>

Din tekst...

</div>
Avatar billede Slettet bruger
09. september 2001 - 17:09 #16
Whoops, nu klokker jeg i den igen:
onMouseOut=\"skjulDiv()\" skal nu stå i <img> og ikke i <div> !
Avatar billede krang Nybegynder
09. september 2001 - 17:11 #17
Nikolajdu: Din virkede....
Du er god til at tyde mine tanker, når jeg ikke selv ved hvad jeg vil
Mikkel
Avatar billede Slettet bruger
09. september 2001 - 17:12 #18
Det gjorde mit script jo egentligt også...
Avatar billede krang Nybegynder
09. september 2001 - 17:14 #19
ja... men den gjorde ikke helt hvad mine tanker ville... men du kan få 10 point
Avatar billede krang Nybegynder
09. september 2001 - 17:15 #20
hvordan giver jeg dig så 10 point nu???
Avatar billede nikolajdu Nybegynder
09. september 2001 - 17:24 #21
Phoenix - Du får dem af mig :-)
Avatar billede nikolajdu Nybegynder
09. september 2001 - 17:27 #22
Avatar billede nikolajdu Nybegynder
09. september 2001 - 17:35 #23
Det skal lige siges at min version kun virker i IE 5.0/5.5/6.0 og så NS 6.x
Avatar billede nikolajdu Nybegynder
09. september 2001 - 17:39 #24
Har givet phoenix 20 point, da han også svarede på CSS delen :-)
Avatar billede krang Nybegynder
09. september 2001 - 18:41 #25
ØV... Den virker jo ikke i Netscape...
Hvordan kan den komme til det????
Avatar billede Slettet bruger
10. september 2001 - 10:29 #26
TAK Nikolajdu!!!
Avatar billede nikolajdu Nybegynder
10. september 2001 - 12:39 #27
Nu forstår jeg jo ikke du undrer dig over den ikke virker i Netscape. Jeg havde jo skrevet at den kun virkede i NS 6.x

Anyway her er løsningen der virker i IE 4.0, 5.0, 5.5, 6.0 og NS 4.x / 6.x:

<html>
<head>
    <title>Untitled</title>     
<script language=\"javascript\">   
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
ie5 =(document.getElementById)? true:false
ns6 = (document.getElementById && !document.all)?true:false;

function over(id){
if (ns4){
document.layers[id].visibility = \"show\"
}else if (ns6) {
document.getElementById(id).style.visibility = \"visible\";
} else if (ie5) {
document.getElementById(id).style.visibility = \"visible\";
}else if (ie4) {
document.all[id].style.visibility = \"visible\";
    } 
}

function ud(id){
if (ns4){
document.layers[id].visibility = \"hide\"
}else if (ns6) {
document.getElementById(id).style.visibility = \"hidden\";
} else if (ie5) {
document.getElementById(id).style.visibility = \"hidden\";
}else if (ie4) {
document.all[id].style.visibility = \"hidden\";
    } 
}

</script>
</head>

<body>
<a href=\"#\" onMouseover=\"over(\'lag\')\" onMouseout=\"ud(\'lag\')\">kuk</a>

<div id=\"lag\" name=\"lag\" style=\"position: absolute; left:50; top:50; width: 200; height:100; z-index: 3; visibility: hidden\">Denne tekst vises n&aring;r der klikkes</div>

</body>
</html>
Avatar billede nikolajdu Nybegynder
10. september 2001 - 12:41 #28
Grunden til at min første version kun virkede i de nyere version var brugen af \"getElementById\" (Der understøttes af alle nye browsere - Nu har jeg sikrede det bagudkompatibelt ved at tjekke for de forældede document.all (IE4) og document.layers (NS 4.x)

/Nikolaj
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