Jquery用ul悬停

时间:2012-06-16 11:32:15

标签: jquery menu html-lists onmouseover

我正在尝试在ul元素上进行基本悬停,这将显示li元素。 我在这里试了一下:http://jsfiddle.net/ExWQp/3/

问题在于当我将li元素留给另一个元素时,会激活函数mouseout。

你能帮我解决这个问题吗? 谢谢

2 个答案:

答案 0 :(得分:2)

使用$.mouseenter()$.mouseleave()代替$.mouseover()$.mouseout()

$(document).ready(function($) {
    var $menulist = $('.ssmenu'),
        $menuitems = $menulist.find('li'),
        $colls = $('.collections');

    var hoverin = function() {
        $menulist.fadeIn();
    };

    var collenter = function() {
        $menuitems.fadeIn();
    };

    var menuleave = function() {
        $menuitems.fadeOut();
    };

    $menulist
        .hover(hoverin, menuleave)
        .bind('mouseleave', menuleave);

    $colls.bind('mouseenter', collenter);
});

http://jsfiddle.net/userdude/ExWQp/6/

答案 1 :(得分:2)

$('.ssmenu').hover(function () {
    $('.ssmenu li').fadeIn();        
},
function () {
    $('.ssmenu li').fadeOut();        
});    

$('.collections').bind('mouseover', function () {
    $('.ssmenu li').fadeIn();
});

http://jsfiddle.net/ExWQp/4/