2012-03-23 64 views
3

所以我工作的一个下拉菜单,遇到了一个问题...这里是代码...检查鼠标是否在JQuery中的多个元素?

$('#layer2_cell1').hide(); 

$("#layer1_cell1").mouseenter(function() { 
    $('#layer2_cell1').show(); 
    $("#storage").data('airplanesmain', '1'); 
}); 
$("#layer1_cell1").mouseleave(function() { 
    $("#storage").data('airplanesmain', '0'); 
    var subcell = $("#storage").data('airplanessubcell'); 
    if (subcell == '0') { 
     $('#layer2_cell1').hide(); 
    } 
}); 
$("#layer2_cell1").mouseenter(function() { 
    $("#storage").data('airplanessubcell', '1'); 
}); 
$("#layer2_cell1").mouseleave(function() { 
    $("#storage").data('airplanessubcell', '0'); 
}); 

我试图隐藏layer2_cell1如果我的鼠标是layer1_cell1的外layer2_cell1这似乎是它会做,但它dosnt。帮帮我!

+2

你可以发布jsfiddle所需的最小html,css和js - 它可以帮助很多。另外,你有没有考虑过纯粹的CSS下拉菜单,没有理由使用js来显示和隐藏... – 2012-03-23 19:18:34

+1

你可以添加一个jsfiddle吗? – Abhidev 2012-03-23 19:18:47

+0

Js小提琴是http://jsfiddle.net/Q4f2N/2/它dosnt在那里工作,但只是采取所有的代码,并将其上传到这个文件系统... category_application文件夹里面有category_application.html这是哪里的html代码去...还有一个名为java的文件夹称为css文件夹。不要担心图像。 java文件夹里面有Jquery.js和menu.js,menu.js包含java代码。然后在CSS内部有sheet.css,其中包含css。 – 2012-03-23 19:26:13

回答

0

嗨,我已经在这里写了一个CSS菜单http://jsfiddle.net/P8ZH6/3/,因为没有必要使用JavaScript。

如果您需要它们来显示菜单上方的动态内容,则可以将JavaScript事件附加到菜单项。

像这样的东西可以工作。

$(文件)。就绪(函数(){

$(".menu li").hover(function(){ 
    $("#dynamic_content").html($(this).parents(".menu_1").find("span").html() + "->" + $(this).find("a").text()); 
}) 

$(".menu .menu_1 span").hover(function(){ 
    $("#dynamic_content").html($(this).html()); 
}) 

$(".menu li, .menu .menu_1 span").mouseout(function(){ 
    $("#dynamic_content").html(""); 
});         

});

希望这适用于你。

+0

http://jsfiddle.net/9vYHg/1/我已更新它,以便动态显示内容。 – zenril 2012-03-26 02:36:06