Javascript 下拉选项在jQuery中不起作用
我正试图建立下拉选项上的鼠标和点击。我唯一的问题是,当我把鼠标放在一个子元素上时,菜单很快就被隐藏了 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 =
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。我在努力,但没用。。