javascript - 悬停向上滚动菜单样式

标签 javascript jquery html css jquery-ui

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

这是我在 <a href="http://jsfiddle.net/VSTAm/1/" rel="noreferrer noopener nofollow">jsFiddle</a> 中的代码

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

错误打印屏幕:

http://i.stack.imgur.com/PchXy.png

感谢提前:)

最佳答案

滚动事件卡住背后的原因,当你点击菜单时,点击后,菜单被禁用,因此你的 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(' ');

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

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

关于javascript - 悬停向上滚动菜单样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18282537/

相关文章:

javascript - 有没有办法在用户按下 "print screen"按钮时隐藏图片?

jquery - 通过链接替换 Sprite 图像

html - 语义分割和旁白广告标题的影响

javascript - 等待 JavaScript 函数完成后再继续

javascript - 识别并提取图像的标题/说明(数据剪贴Pinterest)

javascript - 如何使用 HTML 输入框设置 JavaScript 变量?

javascript - 数据表仅选择过滤的内容

javascript - Jquery 查找多个匹配项

javascript - setTimeout 变量超出范围

html - Div 设置为一个方向填充,固定一侧?