Javascript: отображение окна при наведении курсора на 2 секунды - PullRequest
1 голос
/ 18 июля 2011

Я пытаюсь отобразить окно, когда мышь наводит курсор на изображение в течение 2 или более секунд, конечно, если пользователь не наводит указатель мыши на минимум 2 секунды, я не хочу, чтобы окно отображалось.

Ниже приведен фрагмент кода, который я использовал.Поскольку код теперь есть, окно появляется через две секунды независимо от того, как долго пользователь завис над изображением.Я пытаюсь получить что-то похожее на эффект отложенного наведения в Netflix.Я уверен, что я все делаю неправильно.Так что заранее спасибо за вашу помощь.

<img name="img4" onMouseOver="WindowDelay(this);" onmouseout="closeDetails();" 
        src="images/MyImage.jpg" height="240" width="166"/>

<script language="JavaScript" type="text/javascript">
       var countTime = 0;
       var windowTimer = null

       function WindowDelay(thatImg)
       {
            windowTimer = window.setInterval(function() {countT(thatImg);}, 1000);
       }   

       function countT(thatImg)
       {
            countTime++;

            if (countTime == 2)
            {
                openDetails(thatImg);
                clearInterval(windowTimer);
                countTime = 0;
            }

        }
</script> 

1 Ответ

3 голосов
/ 18 июля 2011

Когда мышь наводится на элемент, используйте setTimeout, чтобы открыть окно через две секунды. Если пользователь отключает элемент, используйте clearTimeout, чтобы остановить открытие будущего окна.

...