日期:2014-05-16  浏览次数:20342 次

请教两个独立div鼠标悬浮切换显示隐藏的问题
独立是说两个div不是子父元素关系的,鼠标悬浮到div1时,div2会显示,div1和div2紧挨着,鼠标移出div1,如果进入div2时不隐藏,如果均不在两个div内时,div2隐藏。之前听说用setTimeout,基础不好,搞了半天没弄好,有没有高手指点下,最好是现成代码。


html结构比如是这样的:
<div style="width:100px; height:100px; background:#CCC;"></div>
<div style="width:150px; height:150px; background:#F90;"></div>

------解决方案--------------------
HTML code
<div style="width:100px; height:100px; background:#CCC;" id="test1"></div>
<div style="width:150px; height:150px; background:#F90;display:none;" id="test2"></div>
<script  type="text/javascript">
function bindMouse(){
    var _hidediv2;
    var _o1=document.getElementById("test1");
    var _o2=document.getElementById("test2");
    _o1.onmousemove=function(){
        _o2.style.display="block";
    };
    _o1.onmouseout=function(){
        _hidediv2=setTimeout(function(){_o2.style.display="none";},500);
    };
    _o2.onmousemove=function(){
        clearTimeout(_hidediv2);
        this.style.display="block";
    };
    _o2.onmouseout=function(){
        this.style.display="none";
    }
}
bindMouse();
</script>

------解决方案--------------------
我那个方法你使用jquery的话,是可以使用hover来代替的hover(in)就相当于onmouseover了,hover(out)就相当于onmouseout了,你那代码在我本地测试OK。就是保证你的那两个div在js脚本之前