【问题标题】:Scroll up menu style with hover使用悬停向上滚动菜单样式
【发布时间】:2013-08-17 06:11:34
【问题描述】:

需要帮助。 我在悬停事件上制作了一些带有垂直滚动的菜单,有 3 个菜单(主页、下载、联系人)。悬停事件上的滚动效果已经起作用,但是在单击事件时,当单击其他菜单时会发生一些错误(某些菜单无法向下滚动/滚动到带有动画的灰色侧)。当我按某些顺序单击菜单时会出现该错误: 1.下载然后联系方式 2.联系然后下载 3.联系然后回家

这是我在@987654321@中的代码

当我在 firefox 上使用 firebug 运行代码时,在我将鼠标悬停在单击的菜单上并将鼠标移出后会出现一些错误。

错误打印屏幕:

感谢提前:)

【问题讨论】:

    标签: javascript jquery html css jquery-ui


    【解决方案1】:

    当你点击一个菜单时,滚动事件被冻结的原因是,在你点击之后,菜单被禁用,因此你的background-pos永远不会改变,所以,方法css(bg-pos)变成undefined并且您再次尝试执行(undefined).split(),这是不可能的,因此动画会冻结。

    您需要做的是点击,您需要再次启用菜单。这是通过以下代码完成的:

    $.fn.stopBG = function (x, y, speed) {
        if(event.which == 1){
            $("#home").removeClass('disable1').addClass('enable1');
            $("#download").removeClass('disable2').addClass('enable2');
            $("#contact").removeClass('disable3').addClass('enable3');
        }
        var pos = this.css('background-position').split(' ');
    

    我已经更新了你的小提琴,看看这个:http://jsfiddle.net/VSTAm/3/

    我已经在 chrome 中尝试过这个修复...它在那里正常工作。

    【讨论】:

    • 感谢您的帮助,但仍然无法为我工作,抱歉 :)
    • 当我在 firefox 23 中尝试使用 fire 但我发现一些错误“ReferenceError: event is not defined if(event.which == 1){”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-29
    • 2013-11-08
    相关资源
    最近更新 更多