У меня есть этот интерфейс, который я хочу построить, используя Effect.Move из scriptaculous (с Prototype, конечно).
Когда верхний div
запускается при наведении мыши, тег span
переместите 50 пикселей влево - и сбросьте без перемещения в исходное положение при наведении мыши.Проблема в том, что каждый раз, когда этот элемент div
вводится из дочернего элемента, элемент, который я хочу переместить, перемещается на дополнительные 50 пикселей.Я пытался использовать relatedTarget
и toElement
, чтобы остановить распространение этого события, но безрезультатно.Вот код, пока еще неполный:
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:
<div class='trigger'>
<span class='to-be-moved'>...</span>
<p>Child Element</p>
<h2>Another Child Element</h2>
<a>Link</a>
</div>
Я полностью потерян - какие-либо предложения?