我正在使用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;
}
這看起來很簡單,但我只是不能換我的頭周圍。
這也適用於你想讓DIV的高度達到其父母的100%(即在側邊欄中);儘管如上所述,如果你的「text1」DIV包含任何錨,因爲它們將被額外的DIV阻擋。 – 2009-07-21 20:04:15