Avatar billede djsteiner Nybegynder
09. juni 2010 - 11:32 Der er 10 kommentarer og
1 løsning

javascript position tooltip

Hej eksperter står og kunne godt bruge noget hjælp.

Jeg er ved at lave et tootip som kommer frem når jeg trykker på forskellige links og dette virker som også.

Problemet er så at "tooltipen"  kommer frem forskellige steder på siden det er så her jeg godt kan bruge noget hjælp til noget kode jeg gør at det springer frem samme sted??

Håber dette giver mening.

Her har lige koden som den ser nu:

<style type="text/css">
.tooltip {
    display: none;
    width: 500px;
    height:auto;
    padding:10px;
 
    border: 1px solid black;
    font-family: Verdana, Geneva, sans-serif;
    font-size:11px;
    background-color:#FFF;
    font-weight:normal; line-height:16px;
    float:left;
    position: absolute;   

    }
   

   
#kort{ position: relative; text-align:center; float:left; width: 600px; height: 791px; background-image:url(kort.png);  background-repeat:no-repeat;  }



img { border: none; }


</style>

<script type="text/javascript">
function showTip(id) {
    var e = document.getElementById(id);
    if (e.style.display == '' || e.style.display == 'none') {
        e.style.display = 'block';
    }
}
function hideTip(id) {
    var e = document.getElementById(id);
    e.style.display = 'none';
}
</script>



<div id="kort">


<!-- Brande HK start -->

<!-- Street Håndbold -->


<a href="#" onclick="showTip('tip1');"><img src="box1.png" alt="Kom og være med til Street Håndbold - et nyt type spil" style="position:relative; float:left; width: 310px; height: 36px; margin-top:633px; margin-left:145px;" />
</a>

<div class="tooltip" id="tip1">
    <a href="#" onclick="hideTip('tip1');"><img src="close-button-lightbox.png" alt="Luk" title="Luk" style="float:left;" /></a>
    <br /><br />
    <p style="font-weight:bold;" align="left">Kom og være med til Street Håndbold - et nyt type spil.  <br /> <br />
    Sted: Brandehallerne &nbsp;  Dato:  2. september    &nbsp;      Tid: 17:30-19:00 </p>
   
    <img src="bkhaanball_LOGO.png" style="margin-top:-105px; margin-left:420px; position:relative; padding-top:5px; float:left;"/>
 
    <p align="left">
    I Brande HK's ungdomsafdeling vil vi sammen med de unge U12-U14 drenge                          <br />
    og pige spiller, arrangere Street Håndbold som er ny type spil,                                  <br />
    der skal genskabe håndboldspillets popularitet især blandt børn                                  <br />
    og unge i skolealderen. Street Håndbold er anderledes end alm. håndbold i den forstand, at der spilles til ét mål i hvert spil.
    <br />  <br />
    Hjemmeside: &nbsp; &nbsp; <a href="http://www.ndehk.dk/default.php" target="_blank" title="Brande HK">Brande HK </a>
  </p>
       
</div>

<!-- Street Håndbold slut -->
<!-- Brande HK slut -->

<!-- Ikast Brande ski  -->


<a href="#" onclick="showTip('tip2');"><img src="box2.png" alt="Rul på Hagelskærvej!" style="position:relative; float:left;  width: 310px; height: 36px; margin-top:-425px;  margin-left:190px; padding-top:5px; " /></a></div>

<div class="tooltip" id="tip2">
  <a href="#" onclick="hideTip('tip2');"><img src="close-button-lightbox.png" alt="Luk" title="Luk" style="float:left;" /></a>
    <br /> <br />
    <p style="font-weight:bold" align="left">Rul på Hagelskærvej! <br /> <br />
    Sted: P-pladsen, øst, ved nordre Skole og Fritidshjemmet  <br />Dato:  1. september      &nbsp;    Tid: 17.45-20.00 </p>
   
    <img src="logo-webbillede.png" style="margin-top:-105px; margin-left:420px; float:left;"/>
    <p align="left">
    Åbent hus kl. 17.45.18.30, hvor rulleski prsenteres og kan afprøves af publikum. <br />
Demonstration af rulleski kl. 19-20: Fælles løb med rulleskøjter og rulleski. <br />
Der er ikke tidstagning. Medbring cykelhjelm og gerne knæbeskyttere til denne event.
    <br />  <br />
    Hjemmeside: &nbsp; &nbsp;
   
<a href="http://www.brandeskiklub.dk" target="_blank" title="www.brandeskiklub.dk">Ikast brande skiklub </a>
   
</p>
 
       
</div>

<!-- Ikast Brande ski slut -->


<!-- Zumba - dansefitness - og MBL.  -->


<a href="#" onclick="showTip('tip3');"><img src="box3.png" alt="Zumba - dansefitness - og MBL." style="position:relative; float:left;  width: 310px; height: 36px; margin-top:-300px; margin-left:370px;  padding-top:5px; " /></a></div>

<div class="tooltip" id="tip3">
  <a href="#" onclick="hideTip('tip3');"><img src="close-button-lightbox.png" alt="Luk" title="Luk" style="float:left;" /></a>
    <br /> <br />
    <p style="font-weight:bold" align="left">Zumba - dansefitness - og MBL. <br /> <br />
    Sted: Ejstrupholm Skole <br />Dato:  4. september    &nbsp;    Tid: 10-10:45 og 11-11:45 </p>
   
    <img src="dof.png"  style="margin-top:-105px; margin-left:420px; float:left;"/>
    <p align="left">
    Kom og prøv Zumba, som er den nyeste form for dansefitness.<br />
    MBL betyder mave-balle-lår og er en mere traditionel form for fitness-træning.<br /> 
Demonstration af rulleski kl. 19-20: Fælles løb med rulleskøjter og rulleski. <br />
Der er ikke tidstagning. Medbring cykelhjelm og gerne knæbeskyttere til denne event.
    <br />  <br />
    Hjemmeside: &nbsp; &nbsp; <a href="http://www.dof-brande.dk/" target="_blank" title="http://www.dof-brande.dk/">Dof-brande </a>
  </p>
       
</div>

<!-- Zumba - dansefitness - og MBL. -->




</div>
Avatar billede intenz Novice
09. juni 2010 - 12:11 #1
Udbyb 'springer frem samme sted', hvor vil du gerne have den skal komme frem?

F.eks. under xx, til højre for yy, eller lign.
Avatar billede djsteiner Nybegynder
09. juni 2010 - 13:55 #2
Nu koder jeg ikke i Javascrip men har prøvet mig frem med css men det er ikke en god løsning.

så ved ikke lige hvordan med hensyn til hvilket koordinater x - y

det skal placeres i men kunne du ikke lige komme med et eks. på hvordan sådan noget kunne se ud ?
Avatar billede intenz Novice
09. juni 2010 - 14:09 #3
Jo, men hvordan det laves bedst muligt afhænger af dit behov.

x,y koordinater kan du ikke bruge til så meget, fordi de er afhængige af brugerens skærmopløsning.

Det vil være nemmere hvis du fortalke om du f.eks. gerne ville have vist den...

...et fast sted på siden
...lige under musens placering
...eller noget andet
Avatar billede djsteiner Nybegynder
09. juni 2010 - 18:46 #4
okay jamen  hvis den kunne komme frem lige under musens placering hvil det da være fint
Avatar billede intenz Novice
09. juni 2010 - 22:26 #5
Du kan ændre din showTip funktion til:


function showTip(id) {
    var e = document.getElementById(id);

    var evt = (evt) ? evt : window.event;
    var x = (evt.pageX) ? evt.pageX : evt.clientX;
    var y = (evt.pageY) ? evt.pageY : evt.clientY;

    if (e.style.display == '' || e.style.display == 'none') {
    e.style.position = 'absolute';
    e.style.left = x;
    e.style.top = y;
        e.style.display = 'block';
    }
}
Avatar billede djsteiner Nybegynder
10. juni 2010 - 08:23 #6
Hej igen efter jeg satte det nye script ind virker det ikke. Nu sker der ikke noget når man trykker på linksne.
Avatar billede djsteiner Nybegynder
10. juni 2010 - 08:33 #7
I IE kan jeg godt se  "tooltipen"  ;)
Avatar billede intenz Novice
10. juni 2010 - 10:14 #8
Ja, det kan jeg godt se.

Prøv at ændre dine to funktioner til:

function showTip(id, e) {
    var elm = document.getElementById(id);

    var evt = (window.event) ? event : e;
    var x = (evt.pageX) ? evt.pageX : evt.clientX;
    var y = (evt.pageY) ? evt.pageY : evt.clientY;

    if (elm.style.display == '' || elm.style.display == 'none') {
    elm.style.position = 'absolute';
    elm.style.left = x;
    elm.style.top = y;
        elm.style.display = 'block';
    }
    return false;
}
function hideTip(id) {
    var e = document.getElementById(id);
    e.style.display = 'none';
    return false;
}


Dit 'vis tooltip' links skal så se sådan ud i stedet (husk at ændre ID'et):
<a href="#" onclick="return showTip('tip1', event);">...</a>

Og dine 'luk tooltip' links:
<a href="#" onclick="return hideTip('tip1');">...</a>
Avatar billede djsteiner Nybegynder
10. juni 2010 - 22:14 #9
Hej igen der sker stadig ikke noget i Firefox går ud fra jeg har rettet koden rigtigt også med hensyn til "ider"

Her har du koden som den ser ud nu:

<style type="text/css">
.tooltip {
    display: none;
    width: 500px;
    height:auto;
    padding:10px;
 
    border: 1px solid black;
    font-family: Verdana, Geneva, sans-serif;
    font-size:11px;
    background-color:#FFF;
    font-weight:normal; line-height:16px;
    float:left;
    margin-left:150px; margin-top:-100px;

   

    }
   

   
#kort{ position: relative; text-align:center; float:left; width: 600px; height: 791px; background-image:url(kort.png);  background-repeat:no-repeat;  }



img { border: none; }


</style>

<script type="text/javascript">
function showTip(id) {
    var e = document.getElementById(id);

    var evt = (evt) ? evt : window.event;
    var x = (evt.pageX) ? evt.pageX : evt.clientX;
    var y = (evt.pageY) ? evt.pageY : evt.clientY;

    if (e.style.display == '' || e.style.display == 'none') {
    e.style.position = 'absolute';
    e.style.left = x;
    e.style.top = y;
        e.style.display = 'block';
    }
}
function hideTip(id) {
    var e = document.getElementById(id);
    e.style.display = 'none';
}
</script>



<div id="kort">


<!-- Brande HK start -->

<!-- Street Håndbold -->


<a href="#" onclick="return showTip('tip1', event);">
<img src="box1.png" alt="Kom og være med til Street Håndbold - et nyt type spil" title="Kom og være med til Street Håndbold - et nyt type spil" style="position:relative; float:left; width: 310px; height: 36px; margin-top:577px;  margin-left:130px;" />
</a>

<div class="tooltip" id="tip1">
  <a href="#" onclick="return hideTip('tip1');">
<img src="close-button-lightbox.png" alt="Luk" title="Luk" style="float:left;" /></a>
    <br /><br />
    <p style="font-weight:bold;" align="left">Kom og være med til Street Håndbold - et nyt type spil.  <br /> <br />
    Sted: Brandehallerne &nbsp;  Dato:  2. september    &nbsp;      Tid: 17:30-19:00 </p>
   
    <img src="bkhaanball_LOGO.png" style="margin-top:-105px; margin-left:420px; position:relative; padding-top:5px; float:left;" alt="brandeHK LOGO" title="brandeHK LOGO"/>
 
    <p align="left">
    I Brande HK's ungdomsafdeling vil vi sammen med de unge U12-U14 drenge                          <br />
    og pige spiller, arrangere Street Håndbold som er ny type spil,                                  <br />
    der skal genskabe håndboldspillets popularitet især blandt børn                                  <br />
    og unge i skolealderen. Street Håndbold er anderledes end alm. håndbold i den forstand, at der spilles til ét mål i hvert spil.
    <br />  <br />
    Hjemmeside: &nbsp; &nbsp; <a href="http://www.ndehk.dk/default.php" target="_blank" title="Brande HK">Brande HK </a>
  </p>
       
</div>

<!-- Street Håndbold slut -->
<!-- Brande HK slut -->
Avatar billede intenz Novice
11. juni 2010 - 09:38 #10
De to javascript funktioner (showTip/hideTip) skal se ud som jeg skrev dem i #8.
Avatar billede djsteiner Nybegynder
15. juni 2010 - 17:36 #11
Hej fik det til at virke endnu en gang tak for hjælpen :)

Er det svært at lave et script det lukke tooltipen når du åbner en ny?

håber dette er forståeligt.
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

IT-JOB

Netcompany A/S

Managing Architect

Forsikrings- og pensionsakademiet A/S

IT-teknisk profil

Netcompany A/S

Test Consultant