Javascript 关于房屋问题

Javascript 关于房屋问题,javascript,html,onmouseover,Javascript,Html,Onmouseover,我有一个链接,它调用onmouseover javascript函数,使其下面的div可见。现在一切都好了 现在的问题是,我有一个a href链接,当我将鼠标移到它的顶部时,它工作得很好,但是当我将鼠标移到“现在可见”div的上方时,它会闪烁,因为html似乎认为它没有关闭div,然后再次打开它,所以它会不断地关闭和打开它 我怎样才能阻止这一切的发生?(下面是html,javascript是一个使其可见的简单函数,在发布时没有任何意义,它可以工作) 视频中显示的问题是stock1 div正在窃

我有一个链接,它调用onmouseover javascript函数,使其下面的div可见。现在一切都好了

现在的问题是,我有一个a href链接,当我将鼠标移到它的顶部时,它工作得很好,但是当我将鼠标移到“现在可见”div的上方时,它会闪烁,因为html似乎认为它没有关闭div,然后再次打开它,所以它会不断地关闭和打开它

我怎样才能阻止这一切的发生?(下面是html,javascript是一个使其可见的简单函数,在发布时没有任何意义,它可以工作)



视频中显示的问题是stock1 div正在窃取焦点,然后触发onmouseout,关闭stock1 div,然后触发标记的onmouseover,显示stock1 div,然后窃取焦点,从标记中触发onmouseout,等等

最简单的方法是将相同的ShowStock onmouseout/onmouseover也应用于stock1 div,这样它在鼠标悬停时会“显示”自己,但在未鼠标悬停时会隐藏自己,除非您将鼠标悬停在A标记中显示它的区域上

例如,这非常有效(在上,它还演示了一个单独的版本,错误在视频中演示):

a.hover{
背景色:#ccc;
宽度:200px;
高度:200px;
位置:绝对位置;
顶部:15px;
左:15px;
}
#展示1{
显示:无;
宽度:200px;
高度:200px;
位置:绝对位置;
顶部:75px;
左:75px;
背景色:#daa;
}
函数showTarget(目标、状态){
开关(状态){
案例1:
状态='块';
打破
违约:
状态='无';
}
目标='显示'+目标;
document.getElementById(目标).style.display=state;
}
试验
测试显示

尝试将onmouseout事件放在stock outsider元素上,就像放在具有onmousein事件的元素“a”上一样,并删除原始元素的onmouseout事件


这样,当您将鼠标从刚刚出现的stock元素中取出时,它就会关闭。

@Steven-我发布了一个示例,演示了我认为可行的方法。
<a style="text-decoration:none;display:block;" onmouseout="ShowStock(1,0);" onmouseover="ShowStock(1,1);" href="">50</a>
<div id="stock1" style="visibility: hidden;">
<a style=" background-color:#009933; text-align:center;" name="1">1</a>
</div>
a.hover {
    background-color: #ccc;
    width: 200px;
    height: 200px;
    position: absolute;
    top: 15px;
    left: 15px;
}
#show1 {
    display: none;
    width: 200px;
    height: 200px;
    position: absolute;
    top: 75px;
    left: 75px;
    background-color: #daa;
}

function showTarget(target, state) {
    switch (state) {
        case 1:
            state = 'block';
        break;
        default:
            state = 'none';
    }
    target = 'show'+target;
    document.getElementById(target).style.display = state;
}

<a class="hover" onmouseover="showTarget(1,1)" onmouseout="showTarget(1,0)">Test</a>
<div id="show1" onmouseover="showTarget(1,1)" onmouseout="showTarget(1,0)">Test Show</div>