javascript - 两个 DIV 的鼠标悬停事件,一个位于另一个之上

标签 javascript jquery html css

我需要触发一个位于另一个之上的两个 DIV 的鼠标悬停事件。

http://jsfiddle.net/hvh8k/

对于前面的 DIV,如果我给出 pointer-events:none;,我将得到下面 DIV 的鼠标悬停事件。但这会停止触发前面 DIV 的鼠标悬停事件。

Javascript

$(function () {
    var stopAnimation = false;
    var loop1 = setInterval(function () {
        if(stopAnimation)return;
        var L = parseInt($("#back").css("left"), 10) + 10;
        if(L > $(window).width())L=-300;
        $("#back").css("left", L);
    }, 100);
    $("#back").mouseover(function () {
        stopAnimation = true;
    });
    $("#back").mouseout(function () {
        stopAnimation = false;
    });
    $("#front").mouseover(function () {
        $("#front").animate({width:200}, 100);
    });
    $("#front").mouseout(function () {
        $("#front").animate({width:100}, 100);
    });
});

CSS

#back {
    width: 300px;
    height: 200px;
    background-color: #aaa;
    position: absolute;
    left:0;
    cursor: pointer;
}
#front {
    width: 100px;
    height: 100px;
    background-color: #caa;
    position: absolute;
    left:0;
    top:100px;
    border-radius:50%;
    overflow:hidden;
}
body {
    margin:0;
}

HTML

<div id="main">
    <div id="back"></div>
    <div id="front"></div>
</div>

最佳答案

不知道这是否适合您要实现的目标,但是在您单击 div 时切换 z-index 怎么样?

第一个 div.front 将显示。单击 div.front 时,它会调用您的函数并将 div.front 移到后面,将 div.back 移到前面,这将允许您单击并触发 div.back 函数并再次切换 div。

所以要清楚...正面可见>点击>背面可见>点击>正面可见等

关于javascript - 两个 DIV 的鼠标悬停事件,一个位于另一个之上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22654050/

相关文章:

javascript - 在 json 对象中添加额外的值

javascript - 设置边框时如何防止移位?

javascript - 使用 jQuery 解析国家威胁级别 XML 文件

javascript - 仅当未选中复选框时才调用 Javascript 函数

jQuery . $ ('<img/>' ) 是什么意思?

javascript - 为什么 jQuery 扩展方法不复制我的 javascript 对象?

javascript - 处理不同模板之间的事件

html - Svg 文本 tspan 没有按要求做

javascript - 单击时自定义绑定(bind)更改样式不起作用

html - css tabs - 从绝对定位到相对定位