szukałem czegoś takiego, jak dobrze, ale z opóźnieniem, jak również wtórnego. Wzięłam jedną z odpowiedzi tutaj i rozwinąłam ją na
Ten przykład pokazuje element div po X sekundach przesuwania kursora myszy i ukrywa go po X sekundach wycofania. Ale wyłącza się, gdy umieścisz kursor nad wyświetlanym elementem div.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<style type="text/css">
.foo{
position:absolute; display:none; padding:30px;
border:1px solid black; background-color:white;
}
</style>
<h3 class="hello">
<a href="#">Hello, hover over me
<span class="foo">foo text</span>
</a>
</h3>
<script type="text/javascript">
var delay = 1500, setTimeoutConst,
delay2 = 500, setTimeoutConst2;
$(".hello").mouseover(function(){
setTimeoutConst = setTimeout(function(){
$('.foo').show();
},delay);
}).mouseout(function(){
clearTimeout(setTimeoutConst);
setTimeoutConst2 = setTimeout(function(){
var isHover = $('.hello').is(":hover");
if(isHover !== true){
$('.foo').hide();
}
},delay2);
});
</script>
Working example
Wyjazd setTimeout i clearTimeout. – j08691