Зацикленная функция на hover jquery
Подскажите пожалуйста, можно ли сделать без setInterval выполнение функции пока курсор hover элемента? Что бы функция была зациклена.
$("#left").hover(function() {
left_statuses();
})
function left_statuses() {
var scroll = $(".scroll").scrollLeft();
var new_scroll = scroll + 100;
$(".scroll").scrollLeft(new_scroll);
}
.left {
z-index: 1;
}
.scroll {
width: 100px;
height: 50px;
background: red;
overflow: hidden;
overflow-x: scroll;
}
.scroll div {
width: 1000px;
height: 50px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="left">
LEFT
</div>
<div class="scroll">
<div></div>
</div>
Ответы (1 шт):
Автор решения: Вася Воронцов
→ Ссылка
Повторные смещения происходят безо всяких setInterval:
var scroll = document.getElementsByClassName("scroll")[0];
var left = document.getElementById("left");
var step = 20;
left.onmouseover = function() {
scroll.scrollLeft += step;
left.style.pointerEvents = "none";
}
left.onmouseout = function() {
scroll.scrollLeft += step;
left.style.pointerEvents = "auto";
}
.left {
z-index: 1;
}
.scroll {
width: 100px;
height: 50px;
background: red;
overflow: hidden;
overflow-x: scroll;
}
.scroll div {
width: 1000px;
height: 50px;
}
<div id="left">
LEFT
</div>
<div class="scroll">
<div></div>
</div>