这是一个jQuery滑动功能,我已将其应用于悬停时的div以便向下滑动按钮。
它工作正常,除了现在每次有人进出它时,它都会不断地上下摆动。
我认为如果在上面放一两个秒的延迟计时器会更有意义。
如果用户在div上停留一两秒钟以上,我将如何修改该功能以向下滑动幻灯片?
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js "></script> <script type="text/javascript"> $("#NewsStrip").hover( function () { $("#SeeAllEvents").slideDown('slow'); }, function () { $("#SeeAllEvents").slideUp('slow'); }); </script>
您需要在鼠标悬停时设置一个计时器,并在激活幻灯片或将鼠标悬停时清除它,以先到者为准:
var timeoutId; $("#NewsStrip").hover(function() { if (!timeoutId) { timeoutId = window.setTimeout(function() { timeoutId = null; // EDIT: added this line $("#SeeAllEvents").slideDown('slow'); }, 2000); } }, function () { if (timeoutId) { window.clearTimeout(timeoutId); timeoutId = null; } else { $("#SeeAllEvents").slideUp('slow'); } });