2014-02-07 59 views
1

我做了很多搜索的悬停,但这些解决方案都为我工作。如何让一个div出现在另一个DIV(CSS或JavaScript)

这里是我的jsfiddle:http://jsfiddle.net/HS3jh/

我需要ABOUTTAB DIV,当你将鼠标悬停在标签tab2可见。

#ABOUTTAB { 
    position: absolute; 
    width: 218px; 
    height: 35px; 
    margin-top: -32px; 
    margin-left: 231px; 
    visibility: hidden; 
} 

随意使用CSS或Javascript做到这一点,感谢您的任何帮助,甚至如果你需要的话弄乱HTML。

+0

您应该从[bootstrap](http://getbootstrap.com/components/#dropdowns)查看下拉菜单 – royhowie

+2

您的标记在其中包含'

'标记。现在是2014年。停止! – Mathletics

回答

0

你可以用一些jQuery的相当容易做到这一点。东西的

$('#tab2').hover(
    function(){ 
     $('#ABOUTTAB').show(); 
    }, 
    function(){ 
     $('#ABOUTTAB').hide(); 
    }); 

传递到悬停的第一个函数()的效果是OnMouseEnter在处理程序,第二个是onMouseExit处理程序。所以当你悬停tab2时,会显示ABOUTTAB,当你停止时它隐藏起来。以display:none开头,以隐藏它。

做一些研究,jQuery的。这种DOM操作非常简单直观。

+0

虽然这可能有效,但OP没有明确提及jQuery的用法。他可能会或可能不需要它,这就是为什么我给了一个普通的JS解决方案(稍微冗长些)。 – astorije

0

使用纯JavaScript,可以用类似的东西来实现:

document.querySelector("#tab2").addEventListener("mouseover", function() { 
    document.querySelector("#ABOUTTAB").style.visibility = "visible"; 
}); 

document.querySelector("#tab2").addEventListener("mouseout", function() { 
    document.querySelector("#ABOUTTAB").style.visibility = "hidden"; 
}); 

这样,你不需要jQuery的but if you need it to work with IE < 8,用户getElementById代替querySelector做(不要忘记删除# ,这是id选择器)。

0

这是一个选项

对JS。

<script type="text/javascript"> 
function wait(){ 
    var tab2 = document.getElementById("tab2"); 
    tab2.addEventListener('mouseover',change,false); 

} 


function change(){ 
    document.getElementById('ABOUTTAB').style.visibility = "visible"; 
} 


</script> 

在这个例子中不改变为隐藏。

,这对身体

<body onload="wait()"> 

当浏览器加载网页充电功能。