J'ai cette interface que je veux construire en utilisant Effect.Move de scriptaculous (avec Prototype, bien sûr).Événement de survol déclenché par Child Elements - comment l'arrêter?
Lorsque le top div
est déclenché au passage de la souris, une balise span
doit se déplacer de 50 pixels vers la gauche - et être réinitialisée sans mouvement vers son emplacement d'origine lors du passage au point mort. Le problème est que, à chaque fois que cet élément div
est entré à partir d'un élément enfant, l'élément que je veux déplacer déplace 50 pixels de plus. J'ai essayé d'utiliser relatedTarget
et toElement
pour empêcher cet événement de se propager, mais en vain. Voici le code, pour l'instant incomplet:
e.observe('mouseover', function(evt) {
var block = e.down('span');
if(evt.target == block && !evt.relatedTarget.descendantOf(block)){
new Effect.Move(block, { x: -50, duration: 0.4,
});
} else {
}
});
HTML Exemple:
<div class='trigger'>
<span class='to-be-moved'>...</span>
<p>Child Element</p>
<h2>Another Child Element</h2>
<a>Link</a>
</div>
Je suis totalement perdu ici - des suggestions?