Avatar billede Marianne Rask Novice
20. februar 2019 - 09:28 Der er 4 kommentarer

Indsæt billede via en funktion

Hej,
Jeg er ved at lave en hjemmeside, hvor jeg vil indsætte et "tooltip". Det skal virke således, at der skal være et lille billede af en pære, og når man kører musen henover, så popper der en besked op.

Følgende virker fint: "<div class="tooltip" style="display:inline"> <img class="tooltip" src="tooltip.png" alt="tooltip logo" style="width:10px;height:10px;display:inline;" /> <span class="tooltiptext">Information om emnet.</span></div>".

Denne "tooltip" funktion skal indsættes mange steder i mine formularer og på min hjemmeside, så jeg vil gerne indsætte ovenstående i en funktion, som jeg så kan kalde de steder, hvor jeg skal benytte den. Jeg tænker, at der skal være en parameter i funktionen, der i ovenstående tilfælde vil være: "Information om emnet."

Hvis det ikke kan lade sig gøre, så hører jeg gerne om alternative metoder, så jeg ikke skal til, at skrive ovenstående hver eneste gang.

Jeg er helt grøn på området, så håber det giver mening.

På forhånd tak
Avatar billede Marianne Rask Novice
20. februar 2019 - 09:37 #1
Glemte lige at oplyse, at jeg kender delvist til java script og php
Avatar billede Slater Ekspert
20. februar 2019 - 10:05 #2
Nu viser du os ikke CSS'en, så vi ved ikke hvordan du vil have det skal se ud, men det kunne f.eks. gøres med ren CSS sådan:

http://snip.kilolima.dk/#/hdoXUPr

Naturligvis er du så stadig nødt til at lave et element med selve teksten i, men den skal jo være forskellig fra fra tooltip til tooltip, går jeg ud fra, så der skal alligevel laves noget der.

Alternativt kan det også laves som property, så du f.eks. skriver
Hej <span data-tooltip="Tooltip tekst her">med</span> dig.

- Men det vil kræve en lille smule script.

Eller er det noget helt andet du tænker på?
Avatar billede Marianne Rask Novice
20. februar 2019 - 10:40 #3
Slater, der tabte du mig. Måske du kan tage udgangspunkt i min nuværende css - beklager jeg ikke fik skrevet den i første omgang.

Min css ser sådanne ud:
<!--Tooltip style --> 
        <style>
            .tooltip {
                position: relative;
                display: inline-block;
                border-bottom: 1px dotted black;
            }

            .tooltip .tooltiptext {
                visibility: hidden;
                width: 120px;
                background-color: #555;
                color: #fff;
                text-align: center;
                border-radius: 6px;
                padding: 5px 0;
                position: absolute;
                z-index: 1;
                bottom: 125%;
                left: 50%;
                margin-left: -60px;
                opacity: 0;
                transition: opacity 0.3s;
            }

            .tooltip .tooltiptext::after {
                content: "";
                position: absolute;
                top: 100%;
                left: 50%;
                margin-left: -5px;
                border-width: 5px;
                border-style: solid;
                border-color: #555 transparent transparent transparent;
            }

            .tooltip:hover .tooltiptext {
                visibility: visible;
                opacity: 1;
            }
        </style>
Avatar billede Slater Ekspert
20. februar 2019 - 10:49 #4
Tak for det.

Spørgsmålet er dog stadig lidt hvordan du vil have det til at virke. Jeg går ud fra at tooltip-teksten skal være forskellig fra hvert tooltip, ikke?

I så fald er du jo nødt til at skrive teksten ved hvert ord/sætning der skal have et tooltip. Eller havde du andet i tankerne?

Du snakker om en funktion - er det fordi det samme tooltip skal fremgå mange gange på siden, altså det samme ord skal forklares flere gange?

Vi kan sagtens lave det sådan, at du sidst på siden f.eks. skriver

<script>
insertTooltip('test', 'tooltip for test');
</script>
- Og det så putter tooltip'et på alle steder hvor ordet "test" fremgår. Men med mindre det samme ord er der mange gange, virker det for mig som en dårligere løsning end at skrive det direkte i HTML'en hvor det skal bruges og semantisk giver mere mening.


Jeg tænker nok for meget over det, men kan du forklare lidt bedre hvad det er du ønsker skal ske, og evt. hvad det er du gerne vil skære fra, så du ikke behøver gøre det flere gange?
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

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