Archief - JS: Link binnen een 'popup div'

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

BloodSeaker

Legacy Member
Hoi

Ik heb een divje dat tevoorschijn komt wanneer ik over bepaalde woorden ga (met een onmouseover event dus)
Nu wil ik dat dit automatisch verdwijnt na een tijd (zoals een tooltip) behalve wanneer men met de muis binnen de div gaat, dan moet hij blijven staan net zolang tot de muis weer uit die div gaat. Tot zover geen probleem, dat heb ik al.

Echter, wanneer nu in die popup div een link staat, dan verdwijnt mijn div zodra ik over deze link ga. Dus hij triggert bij een link binnen die div, mijn onmouseout van die div zelf. Hoe kan ik dit voorkomen?


Alvast bedankt

Smoerf

Legacy Member
Dat is inderdaad iets gigantisch brak, dat je mouseout actie getriggered wordt als je over een link 'hovert' (mouseover dus).

Wat je wel kan doen is de 4 coords van je div bijhouden, zijnde top, right, bottom, left en dan kijken of je muis binnen die 4 coordinaten zit.

BloodSeaker

Legacy Member
Ik heb in elk geval een soortgelijk script gevonden (een tooltip scriptje) dat het wel lukt. Doch ben ik er nog niet door waarom het daar wel lukt.
Ik kan natuurlijk ook best dat script gebruiken, maar toch liever iets wat ik zelf maak en zelf makkelijk kan aanpassen

Lashknife

Legacy Member
Je hebt een onmouseover en dus ook een onmouseout om het terug te sluiten.
Vooraleer je werkelijk je "verberg" command geeft, check je toch gewoon eerst of je nog binnen je kader bent?

*edit* ow, was al half gezegd :)

Smoerf

Legacy Member
@Disa, op zich is dat wel te doen hoor. Wat je moet doen is
1) onload een init die de coords ophaalt van de divs die een tooltip moeten tonen en deze storen in een array
2) een onmouse event triggeren
3) de coords vergelijken met de respectievelijke coords van de divs, hierbij rekening houdende met de scroll offset om bijgevolg de absolute positie van de muiscursor te kunnen bepalen ten opzichte van de document top
4) als de muis binnen deze coords zit, dan de event triggeren, anders als er een tooltip zichtbaar is deze hiden als de muis buiten de coords valt.

@ts: als je eender welke andere container gebruikt, zijnde <strong>, <em>, etc... zal hij ook de focus verliezen bij een onmouseover. Je kan ook niet met "fake" link containers werken, want die vereisen zoiezo ook een container. (<span onclick="openlink();">link hier</span>)



EDIT:

afgaande op wat Lashknife zei kan je:
1) onmouseover je event triggeren
2) onmouseout niets doen

al je divs die een tooltip in een "parent" div zetten en als volgt werken

Code:
<div id="bigdiv" onmouseover="hideActiveTooltip();">
 <div id="tooltip1" class="tooltipper" onmouseover="showTooltip('text ofzo');">mouseover levert een tooltip :) <br /><a href="http://www.google.be">link</a></div>
 <div id="tooltip2" class="tooltipper" onmouseover="showTooltip('text ofzo');">mouseover levert nog een tooltip :) <br /></div>
</div>
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan