Avatar billede jjdk Nybegynder
28. marts 2007 - 20:47 Der er 16 kommentarer og
1 løsning

Smart hjælpeboks, men hvordan

Hej alle.

Totalkredit gør brug af en freeware hjælpeboks på mange af deres sider, fx her: http://www.totalkredit.dk/Totalkredit/data.nsf/webDocuments/9461FBF3E6F6537BC1256F7F00743B5E

Når musemarkøren flyttes hen over spørgsmålstegnet, vises et lille vindue med en hjælpetekst. Jeg har været inde og lure på koden og kan se at de gør brug en js-fil, som er freeware.
Jeg kan bare ikke få det til at virke.

I min html gør jeg bl.a. følgende:

<SCRIPT language="JavaScript" src="bxphjaelp.js"></SCRIPT>
<img border='0' src='gfx/spg_3.gif' width='10' height='12' onmouseover=\"popup(1);this.style.cursor='hand';\" onmouseout=\"popout(1)\">
Og så har jeg hentet filen bxphjaelp.js

Men hjælpevinduet fremkommer ikke, og jeg kan også se nederst i Explorerens statuslinje til venstre (gult skilt), at der er en fejl (et objekt er obligatorisk).

Mon et kvikt hoved kan gennemskue, hvad der mangler???
Avatar billede Keld Nielsen Forsker
28. marts 2007 - 20:56 #1
Prøv at kigge på http://www.bosrup.com/web/overlib/ ....der tror jeg du finder den perfekte løsning!
Avatar billede jjdk Nybegynder
28. marts 2007 - 21:03 #2
Har prøvet noget lignende, men problemet er, at disse bokse virker ved hjælp af "<a href...>. Det vil jeg gerne undgå, da jeg har en række input-felter, der skal udfyldes. Hvis man her bruger tabulator, for at springe til næste input-felt, kan jeg ikke undgå at ramme linket til hjælpe-boksen.
Desuden synes jeg koden ovenfor er smart, da alle hjælpetekster står i samme fil, og ikke er integreret i koden.
Avatar billede Keld Nielsen Forsker
28. marts 2007 - 21:07 #3
Ok - jeg følger selv med - og håber du får et mere kvalificeret svar.
Avatar billede Keld Nielsen Forsker
28. marts 2007 - 21:11 #4
tabulatordelen kan du forbigå ved at indsætte f.eks. 'tabindex="7"' i indtastningsfelterne.
Avatar billede roenving Novice
29. marts 2007 - 13:02 #5
Mangler du ikke det element, der skal indeholde hjælpeteksten ?-)
Avatar billede crazysnap Seniormester
29. marts 2007 - 13:05 #6
Hej jjdk,

Har kigget på bxphjaelp.js og det eneste du mangler for at få det til at virke er at tilføje en <div> tag til siden med id="divDescription". Det er tilsynladende den div javascriptet bruger til at vise teksten i. Så dette burde virke:


<SCRIPT type="text/JavaScript" src="bxphjaelp.js"></SCRIPT>
<img style="border: 0px;" src="gfx/spg_3.gif" width="10" height="12" onmouseover="popup(1); this.style.cursor='pointer';" onmouseout="popout(1);" alt=""/>
<div id="divDescription"></div>


Har samtidigt også lige rettet et par småfejl i html-koden. :)


Mvh.

- Snap
Avatar billede jjdk Nybegynder
29. marts 2007 - 13:33 #7
Jeg kan ikke helt gennemskue det. Det kan godt tyde på, at jeg mangler noget.
Jeg kan se, at i <body> delen, at der defineres noget onload:
<body onload="popupInit();">
Har crazysnap det til at virke???
Avatar billede roenving Novice
29. marts 2007 - 13:39 #8
-- har du også indsat den funktion ?-)
Avatar billede crazysnap Seniormester
29. marts 2007 - 13:45 #9
Hej igen,


Det her virker fint hos mig! :)



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
        <script type="text/javascript" src="bxphjaelp.js"></script>
    </head>
    <body>
        <table>
            <tr>
                <td>
                    <img style="border: 0px;" src="pic1.jpg" width='10' height='12' onmouseover="popup(1);this.style.cursor='pointer';" onmouseout="popout(1);" alt=""/>
                    <div id="divDescription"></div>
                </td>
            </tr>
        </table>
       
    </body>
</html>


Og du behøver ikke en '<body onload="popupInit();">' da det allerede sættes i javascript filen.


Mvh.

- Snap :)
Avatar billede jjdk Nybegynder
29. marts 2007 - 13:45 #10
jeps.

<head>
<SCRIPT type="text/JavaScript" src="bxphjaelp.js"></SCRIPT>
</head>
<body onload="popupInit();">
<table>
<tr>
<td><img style="border: 0px;" src="gfx/spg_3.gif" width="10" height="12" onmouseover="popup(1); this.style.cursor='pointer';" onmouseout="popout(1);" alt=""/>
<div id="divDescription"></div>
</td>
<td>Årstal</td>
</tr>
</table>
</body>
Avatar billede jjdk Nybegynder
29. marts 2007 - 13:50 #11
Hurra - nu virker det. Tak for det crazysnap.
Sender du et svar??
Avatar billede crazysnap Seniormester
29. marts 2007 - 14:06 #12
Ok super! :)

Kan se der bla. mangler en " ved onmouseover="popup(1); hvilket er min fejl kan jeg se på min første kommentar.  :)


Men godt at det virker nu og her har du et svar! :)


Mvh.

- Snap
Avatar billede jjdk Nybegynder
29. marts 2007 - 14:36 #13
Så var det jo nok derfor jeg ikke kunne få det til at virke med dit 1. forslag.
Jeg takker endnu engang.
Avatar billede crazysnap Seniormester
29. marts 2007 - 14:40 #14
Ja det lyder meget sandsynligt! (Så undskyld for den forvirring) :)


Men tak for pointene og held og lykke med det fremover!


Mvh.


- Snap :)
Avatar billede jjdk Nybegynder
29. marts 2007 - 16:44 #15
ØV - det driller alligevel. Hvis jeg placerer grafikken (spørgsmålstegnet) i en forbindelse med en inputform og tabel, så vises popup-vinduet forkert. Den flytter på min table og forms og rammen om popupen vises forkert
Avatar billede crazysnap Seniormester
29. marts 2007 - 17:58 #16
Hej igen,

Så skal du sandsynligvis bare ændre din <div> position til absolute. Så prøv at udskift:


<div id="divDescription"></div>


med:


<div style="position: absolute; background-color: Window;" id="divDescription"></div>


Mvh.

- Snap :)
Avatar billede jjdk Nybegynder
29. marts 2007 - 19:06 #17
Takker - du havde fuldstændig ret.
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