Вы можете использовать для этого метод setTimeout в Javascript.По сути, вам нужно добавить двух слушателей событий в ваш div:
- слушатель, который проверяет, находится ли мышь над элементом, и запускает таймер
- другой слушатель, который распознает, ушла ли мышь изэлемент
document.getElementById("yourDiv").addEventListener("mouseover", mOver);
document.getElementById("yourDiv").addEventListener("mouseout", mOut);
var mouseOver = false;
function mOver(e) {
mouseOver = true;
setTimeout(doIt, 2000);
}
function mOut(e) {
mouseOver = false;
}
function doIt() {
if (mouseOver) {
console.log("mouse is over the element and 2 seconds have passed")
}
}