【发布时间】:2011-11-22 02:14:39
【问题描述】:
我正在尝试获取下面的代码来执行一旦用户将鼠标悬停在链接上就会触发的事件。我希望触发的事件是,一旦用户将鼠标悬停在链接上,DIV 就会出现,一旦用户将鼠标移离菜单,就会消失。 (它应该用于顶级导航上的子菜单。)然而,'mouseover' 事件被触发,而不是 'mouseout' 事件。这让我有点困惑。
function menuBehavior() {
var subMenu = $$('.has_menu').getChildren('A')[0];
window.addEvent('domready',
function() {
subMenu.addEvent('mouseover',
function() {
this.getSiblings('.menu-level_2').addEvent('mouseover',
function(e) {
this.getSiblings('.menu-level_2').setStyle('opacity', 1);
e.stop();
});
this.getSiblings('.menu-level_2').addEvent('mouseout',
function(e) {
this.getSiblings('.menu-level_2').setStyle('opacity', 0);
e.stop();
});
});
});
} // end of FUNCTION menuBehavior
这里也是菜单布局的 HTML。
<li class="menu-option has_menu">
<a href="#option1"><span class="menu-arrow">Menu Option #1</span></a>
<div class="menu-level_2">
<ul class="level_2">
<li class="more">
<a href="#sub_menu1"><span class="menu_level_2-more">Sub Menu Option #1</span></a>
<div class="bumper">
<div class="menu-level_3">
<ul class="level_3">
<li>
<a href="#sub_menu1"><span class="menu_level_3">Sub Menu Option #1</span></a>
</li>
<li class="option-spcr"> </li>
<li>
<a href="#sub_menu1" class="menu_level_3"><span>Sub Menu Option #2</span></a>
</li>
</ul>
</div>
</div>
</li>
<li class="option-spcr"> </li>
<li>
<a href="#sub_menu1" class="menu_level_2"><span>Sub Menu Option #2</span></a>
</li>
<li class="option-spcr"> </li>
<li>
<a href="#sub_menu1" class="menu_level_2"><span>Sub Menu Option #3</span></a>
</li>
<li class="option-spcr"> </li>
<li>
<a href="#sub_menu1" class="menu_level_2"><span>Sub Menu Option #4</span></a>
</li>
<li class="option-spcr"> </li>
<li>
<a href="#sub_menu1" class="menu_level_2"><span>Sub Menu Option #5</span></a>
</li>
</ul>
</div>
</li>
提前感谢您对如何修复此代码的任何想法或见解。
【问题讨论】:
标签: mootools javascript-framework mootools-events