如何删除jQuery.haverage()方法中的延迟

How to remove the delay in jQuery .hover() method

本文关键字:方法 延迟 haverage jQuery 删除 何删除      更新时间:2024-06-26

我试图让我的nav元素在文档滚动时改变颜色,我还想让悬停状态动态地改变颜色。但有一个延迟,我必须等待几秒钟,然后才能悬停并更改颜色。我可以取消延迟吗?或者更好的是,当我在菜单上悬停时,我可以通过滚动来更改悬停的颜色吗?我觉得我离解决方案太近了,但我找不到它。

以下是jQuery代码:

$(document).ready(function () {
    $(document).scroll(function () {
        var h = $(window).scrollTop() / $(document).height() * 360;
        if (h <= 180) {
            hhover = h + 180;
        } else {
            hhover = h - 180;
        }
        $("a").css({
            "color":"hsl(" + h + ",100%,50%)","transition":"0.2s ease"});
        $("a").hover(
        function () {
            $(this).css(
                "color", "hsl(" + hhover + ",100%,50%)");
        },
        function () {
            $(this).css(
                "color", "hsl(" + h + ",100%,50%)");
        });
    });
});

请在下面找到我的jsFiddle:https://jsfiddle.net/dtZDZ/1036/

谢谢!

在您的CSS代码中:

.nav-links a:hover {
    color: hsl(180,100%,50%);
    transition: ease;
}

从javascript代码和样式中删除所有CSS转换定义。