Показать сообщение отдельно
  #6 (permalink)  
Старый 20.05.2020, 20:01
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

Сообщение от рони Посмотреть сообщение
Сергей Ракипов,
если за 300 миллисекунд курсор успеет встать с блока .block_inside1 или .block_inside2 на .block_inside1 или .block_inside2 то отключится -250px.

300 миллисекунд - максимальное время для перемещения по пустому пространству между блоками
Понял спасибо
А почему когда в это блоке <div class="block_inside2"><a href="#">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Reiciendis, maiores!</a></div>

Помешена ссылка или два и более блока он уже работает коряво

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
.block{
    height: 100%;
    background-color: #54CC2C;
    position: relative;
}
.block_inside1{
    cursor: pointer;
    background-color: #CC2ABC;
}
.block_inside2{
    position: relative;
    width: 50px;
    transform:translateY(-250px);
    transition: transform .5s;
    z-index: 2;
    background-color: #e2e2e2;
}
.test{
   width: 50px;
   height: 50px;
   background-color: #2F2FCC;
   left: 50%;
   top: 50%;
   position: absolute;
}

</style>
</head>

<body>
<div class="block">
    <div class="block_inside1">test</div>
    <div class="block_inside2"><a href="#">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Reiciendis, maiores!</a></div>
    <div class="test"></div>
</div>
<script>
var block = document.querySelector(".block");
var block_inside1 = document.querySelector(".block_inside1");
var block_inside2 = document.querySelector(".block_inside2");
function subHover_1() {
    var timer;
    block.onmouseover = subDown;
    block.onmouseout = subUp;
    function subDown(event) {
        if (event.target.matches(".block_inside1, .block_inside2")) {
            clearTimeout(timer);
            block_inside2.style.transform = "translateY(" + "20" + "px)";
        }
    }
    function subUp(event) {
        if (event.target.matches(".block_inside1, .block_inside2")) {
            clearTimeout(timer);
            timer = setTimeout(function() {
                block_inside2.style.transform = "translateY(" + "-250" + "px)";
            }, 300);
        }
    }
}
subHover_1();

</script>
</body>
</html>

Последний раз редактировалось Сергей Ракипов, 20.05.2020 в 20:15.
Ответить с цитированием