Я использую JavaScript, чтобы скрыть изображение и показать какой-то текст, скрытый под ним. Но когда текст отображается, если вы прокручиваете его, он запускает событие mouseout для контейнера, которое затем скрывает текст и снова показывает изображение, и оно просто переходит в странный цикл.
HTML выглядит так:
<div onmouseover="jsHoverIn('1')"
onmouseout="jsHoverOut('1')">
<div id="image1" />
<div id="text1" style="display: none;">
<p>some content</p>
<p>some more content</p>
</div>
</div>
И javascript (он использует scriptaculous):
function jsHoverIn(id) {
if(!visible[id]) {
new Effect.Fade ("image" + id, {queue: { position: 'end', scope: id } });
new Effect.Appear ("text" + id, {queue: { position: 'end', scope: id } });
visible[id] = true;
}
}
function jsHoverOut (id) {
var scope = Effect.Queues.get(id);
scope.each(function(effect) { effect.cancel(); });
new Effect.Fade ("text" + id, {queue: { position: 'end', scope: id } });
new Effect.Appear ("image" + id, {queue: { position: 'end', scope: id } });
visible[id] = false;
}
Это кажется очень простым, но я просто не могу обернуть голову вокруг него.