Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 下拉选项在jQuery中不起作用_Javascript_Jquery_Html_Menu_Dropbox - Fatal编程技术网

Javascript 下拉选项在jQuery中不起作用

Javascript 下拉选项在jQuery中不起作用,javascript,jquery,html,menu,dropbox,Javascript,Jquery,Html,Menu,Dropbox,我正试图建立下拉选项上的鼠标和点击。我唯一的问题是,当我把鼠标放在一个子元素上时,菜单很快就被隐藏了 jQuery代码: var navPos = $("#topNav").position().top; // ignore this line // menu drop options $('.repeat, .recitor, .volume, .bandwidthOption').bind('dropOption', function(e, force) { var force =

我正试图建立下拉选项上的鼠标和点击。我唯一的问题是,当我把鼠标放在一个子元素上时,菜单很快就被隐藏了

jQuery代码:

var navPos = $("#topNav").position().top; // ignore this line
// menu drop options
$('.repeat, .recitor, .volume, .bandwidthOption').bind('dropOption', function(e, force) {
    var force = force || 'toggle';

    if ($(this).hasClass('repeat'))
        var optionName = 'repeat';
    else if ($(this).hasClass('recitor'))
        var optionName = 'recitor';
    else if ($(this).hasClass('volume'))
        var optionName = 'volume';
    else if ($(this).hasClass('bandwidthOption'))
        var optionName = 'bandwidthOption';
    else
        return;

    var optionSubName = $(this).find('ul').attr('class');
    var position = $(this).position();
    position.top = navPos;
    var isActive = $(this).hasClass('active');

    if ((isActive && force != 'show') || (force && force == 'hide'))
    {
        $(this).removeClass('active');
        $('.'+optionSubName).hide();
        if (optionName == 'recitor') /* ie fix - z-index issue */
            $('.logoBox').show();
    }
    else
    {
        $(this).addClass('active');
        $('.'+optionSubName).show();
        $('.'+optionSubName).css('left',position.left+'px');
        if (optionName == 'recitor') /* ie fix - z-index issue */
            $('.logoBox').hide();
    }
});
$('.repeat, .recitor').click(function() {
    $(this).trigger('dropOption');
    return false;
});
$('.volume, .bandwidthOption').hover(function() {
    $(this).trigger('dropOption', 'show');
},function() {
    $(this).trigger('dropOption', 'hide');
});

菜单演示:

最后一位隐藏选项:

$('.volume, .bandwidthOption').hover(function() {
    $(this).trigger('dropOption', 'show');
},function() {
    $(this).trigger('dropOption', 'hide');
});
将鼠标悬停在“链接”选项上。要解决此问题,您可以使用:

$('.volume, .bandwidthOption').mouseover(function() {
        $(this).trigger('dropOption', 'show');
    });
或者单击上一行中的按钮。然后,您可以使用以下选项隐藏:

$('.dropOption').mouseout(function() {
            $(this).trigger('dropOption', 'hide');
        });

最后一位是隐藏选项:

$('.volume, .bandwidthOption').hover(function() {
    $(this).trigger('dropOption', 'show');
},function() {
    $(this).trigger('dropOption', 'hide');
});
将鼠标悬停在“链接”选项上。要解决此问题,您可以使用:

$('.volume, .bandwidthOption').mouseover(function() {
        $(this).trigger('dropOption', 'show');
    });
或者单击上一行中的按钮。然后,您可以使用以下选项隐藏:

$('.dropOption').mouseout(function() {
            $(this).trigger('dropOption', 'hide');
        });

好的,我把悬停换成鼠标悬停和鼠标悬停。。但是没有起作用,显示出同样的。。这是演示,我想你误解我了。mouseover/mouseout的功能与hover几乎相同。只需使用mouseover进行显示,然后使用选项上的mouseout事件作为隐藏选项的方式。哦,好的。但那是不恰当的。。因为我刚刚试过,如果你不把鼠标放在kbs上,它就不会隐藏。试试看。好吧,问题是链接框并没有一直延伸到绝对位置。所以,您需要将其放大一点,这意味着使用内联块。我修复了你在上面给我的链接中的代码。这只是一个css补丁,所以你原来的悬停应该也可以。ic,你编辑了链接a的值,这会造成问题,因为我的链接上有图像。。不管怎样,你可以在li上试试,而不是link。我正在尝试,但它不起作用。好的,我把悬停换成鼠标悬停和鼠标悬停。。但是没有起作用,显示出同样的。。这是演示,我想你误解我了。mouseover/mouseout的功能与hover几乎相同。只需使用mouseover进行显示,然后使用选项上的mouseout事件作为隐藏选项的方式。哦,好的。但那是不恰当的。。因为我刚刚试过,如果你不把鼠标放在kbs上,它就不会隐藏。试试看。好吧,问题是链接框并没有一直延伸到绝对位置。所以,您需要将其放大一点,这意味着使用内联块。我修复了你在上面给我的链接中的代码。这只是一个css补丁,所以你原来的悬停应该也可以。ic,你编辑了链接a的值,这会造成问题,因为我的链接上有图像。。不管怎样,你可以在li上试试,而不是link。我在努力,但没用。。