2013-10-06 88 views
0

喜首先这是我的代码 -如何让一个div出现在悬停和消失悬停出来?

<script> 
function slide() { 
    if(document.getElementById('eiv').className == 'deactive') { 
     document.getElementById('eiv').className = 'active'; 
     document.getElementById('eiv').style.webkitTransition ='all 0.5s'; 
    } else { 
     document.getElementById("eiv").className = 'deactive'; 
     document.getElementById('eiv').style.webkitTransition ='all 0.5s'; 
    } 
} 
function slideout() { 
    if(document.getElementById('eiv').className == 'active') { 
     document.getElementById('eiv').className = 'deactive'; 
     document.getElementById('eiv').style.webkitTransition ='all 0.5s'; 
    } else { 
     document.getElementById("eiv").className = 'active'; 
     document.getElementById('eiv').style.webkitTransition ='all 0.5s'; 
    } 
} 
</script> 
<body> 
<span id="container"><div id="colo" onmouseover="slide()" onmouseout="slideout()">lololol</div> 
</body> 

我提出由ID EIV上滑动左侧的结肠的悬停和结肠滑回了鼠标移开时一个div,这一切都很好,但我当它出现后它应该留在那里,当我们在eiv上滑动鼠标并从eiv滑出鼠标时(当eiv在它中滑动会重叠colo),然后当你再次在colo上鼠标时,eiv出现

这是有点像Windows 8中的charmsbar

+0

请注明一个答案,因为接受这样你就可以帮助其他人。 –

回答

0

你不能那样做,因为如果你的div变成隐藏的,你nev呃触发悬停事件。

因此,我建议您将颜色div更改为与您网站的背景颜色相同的颜色或更改为透明。

.visibleDiv{ 
    background-color:yellow; 
    height:100px; 
    display:block; 
} 
.visibleDiv:hover{ 
    background-color:white; 
    height:100px; 
    display:block; 
} 

example

0

如果我理解正确你的问题,那么这可能会帮助你。

您可以使用JQuery和悬停来创建一些东西。这条路。

您必须在要隐藏的div外有一个元素。

在这个例子中,我使用div="target1"作为外部元素隐藏 的div="msg1"

<div id="target1">Hover here for .hover()</div> 
<div id="msg1"></div> 

$("#target1").hover(function() { 
    $("#msg1").toggle(); 
});