Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jqueryhover,onhover显示另一个元素并向后移动鼠标_Javascript_Jquery - Fatal编程技术网

Javascript jqueryhover,onhover显示另一个元素并向后移动鼠标

Javascript jqueryhover,onhover显示另一个元素并向后移动鼠标,javascript,jquery,Javascript,Jquery,启用时,将红色框悬停,灰色框将显示。如果鼠标停留在灰盒上,灰盒将保持打开状态。将鼠标从灰色框移回红色框时,我希望灰色框仍处于打开状态 灰色框仅在鼠标未悬停在红色或灰色框上时关闭 唯一的问题是,当我将鼠标从灰色框移回红色框时,我无法让灰色框显示出来 有人能帮忙吗?请不要改变结构,我知道用box1包裹box2更容易 <div id="box1"> <div id="box2"></div> </div> 但这不是我想尝试的。谢谢尝试使用

启用时,将红色框悬停,灰色框将显示。如果鼠标停留在灰盒上,灰盒将保持打开状态。将鼠标从灰色框移回红色框时,我希望灰色框仍处于打开状态

灰色框仅在鼠标未悬停在红色或灰色框上时关闭

唯一的问题是,当我将鼠标从灰色框移回红色框时,我无法让灰色框显示出来

有人能帮忙吗?请不要改变结构,我知道用box1包裹box2更容易

<div id="box1">
    <div id="box2"></div>
</div>


但这不是我想尝试的。谢谢

尝试使用
css

#框1{
宽度:40px;
高度:40px;
背景:红色;
光标:指针;
}
#框2{
显示:无;
宽度:400px;
高度:400px;
背景:灰色;
}
#第1栏:悬停+#第2栏,#第2栏:悬停{
显示:块;
}

尝试使用
css

#框1{
宽度:40px;
高度:40px;
背景:红色;
光标:指针;
}
#框2{
显示:无;
宽度:400px;
高度:400px;
背景:灰色;
}
#第1栏:悬停+#第2栏,#第2栏:悬停{
显示:块;
}

我想你可以用

var超时;
变量$box1=$(“#box1”);
变量$box2=$(“#box2”);
$box1.悬停(函数(){
clearTimeout(超时);
$box2.show();
},函数(){
timeout=setTimeout(函数(){
$box2.hide();
}, 1000);
});
$box2.悬停(函数(){
clearTimeout(超时);
},函数(){
timeout=setTimeout(函数(){
$box2.hide();
}, 1000);
});
#框1{
宽度:40px;
高度:40px;
背景:红色;
光标:指针;
}
#框2{
显示:无;
宽度:400px;
高度:400px;
背景:灰色;
}

我想你可以用

var超时;
变量$box1=$(“#box1”);
变量$box2=$(“#box2”);
$box1.悬停(函数(){
clearTimeout(超时);
$box2.show();
},函数(){
timeout=setTimeout(函数(){
$box2.hide();
}, 1000);
});
$box2.悬停(函数(){
clearTimeout(超时);
},函数(){
timeout=setTimeout(函数(){
$box2.hide();
}, 1000);
});
#框1{
宽度:40px;
高度:40px;
背景:红色;
光标:指针;
}
#框2{
显示:无;
宽度:400px;
高度:400px;
背景:灰色;
}

下面是另一个使用
mouseenter
mouseleave
的解决方案

var$box=$('.box');
变量$box1=$(“#box1”);
变量$box2=$(“#box2”);
$box.mouseenter(函数(){
$box2.show();
});
$box.mouseleave(函数(){
$box2.hide();
});
#框1{
宽度:40px;
高度:40px;
背景:红色;
光标:指针;
}
#框2{
显示:无;
宽度:400px;
高度:400px;
背景:灰色;
}

下面是另一个使用
mouseenter
mouseleave
的解决方案

var$box=$('.box');
变量$box1=$(“#box1”);
变量$box2=$(“#box2”);
$box.mouseenter(函数(){
$box2.show();
});
$box.mouseleave(函数(){
$box2.hide();
});
#框1{
宽度:40px;
高度:40px;
背景:红色;
光标:指针;
}
#框2{
显示:无;
宽度:400px;
高度:400px;
背景:灰色;
}


可以包括
js
问题尝试?您需要暂停吗?可以包括
js
问题尝试吗?您需要暂停吗?谢谢!但是,如果结构更改为
,则css将不起作用work@olo也许可以更新原始帖子的详细信息,以反映上述
html
的可能性?fwiw,
css
,稍微调整一下,可能会返回与上述
html
相同的结果。干杯:)是的,我会努力的。非常感谢!:)谢谢但是,如果结构更改为
,则css将不起作用work@olo也许可以更新原始帖子的详细信息,以反映上述
html
的可能性?fwiw,
css
,稍微调整一下,可能会返回与上述
html
相同的结果。干杯:)是的,我会努力的。非常感谢!:)把代码贴在这里,而不是放在小提琴上。为什么不使用堆栈代码段,这样这里的代码就可以像小提琴一样执行?@Barmar my bad,snippet补充道。在这里发布代码,而不仅仅是小提琴。为什么不使用堆栈代码段,这样这里的代码就可以像小提琴一样执行?@Barmar my bad,snippet补充道。