需要帮助。我已经制作了一些菜单与垂直滚动悬停事件,有3个菜单(主页,下载,联系)。悬停事件上的滚动效果已经生效,但在单击事件时会出现一些错误(一些菜单无法向下滚动/滚动到带有动画的灰色边),当其他菜单被单击时。当我按顺序单击菜单时会出现错误: 1.下载然后联系2.联系人然后下载3.联系人然后回家
这是我在jsFiddle中的代码
当我用firebug在firefox上运行代码时,在鼠标移动并在单击的菜单上鼠标退出后,会出现一些错误。
错误打印屏幕:

(谢谢预付:)
发布于 2013-08-16 22:01:57
当您单击菜单时,冻结滚动事件背后的原因是,单击菜单后,菜单将被禁用,因此您的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...it中尝试过这个修复方法,在那里可以正常工作。
https://stackoverflow.com/questions/18282537
复制相似问题