Jquery 如果试图使用速度作为回调函数,我如何修复它?
我正在尝试运行一个简单的jQuery来设置菜单打开的动画,这是相关代码的链接:Jquery 如果试图使用速度作为回调函数,我如何修复它?,jquery,jquery-ui,Jquery,Jquery Ui,我正在尝试运行一个简单的jQuery来设置菜单打开的动画,这是相关代码的链接: $(this).find('.sub').show('{opacity:"show",height:"show",width:"show"}',500); 编辑:我应该澄清,animate也不起作用,这是我使用的代码 $(this).find('.sub').animate({opacity:"show",height:"show",width:"show"},500); (动画是可更改的,用户可以选择其中一种,
$(this).find('.sub').show('{opacity:"show",height:"show",width:"show"}',500);
编辑:我应该澄清,animate也不起作用,这是我使用的代码
$(this).find('.sub').animate({opacity:"show",height:"show",width:"show"},500);
(动画是可更改的,用户可以选择其中一种,尽管我怀疑这是否重要)
每次它试图运行时,我都会遇到这个错误
未捕获的TypeError:对象#
的属性“500”不是函数
现在500是速度,不是函数回调,但我没有尝试过让它意识到这一点。首先,我尝试传递一些选项(空白的“”选项),然后尝试在末尾添加一个函数(我使用function(){alert('test')}
作为一个简单的测试),但没有任何效果
如果您对外部代码感兴趣,我可以发布它,尽管它只是一个带有一些调整的大型下拉系统(您可以查看代码的外观,我对jQuery所做的只是在.hide()
上添加相同的动画,它工作得非常完美)
如有任何见解,将不胜感激
编辑:实际上,该错误是由hide()引起的,出于某种原因,它开始出现,但在测试过程中没有出现,只是在我继续更改“打开动画”属性之后.animate()
不执行任何操作(无错误且无动画)
解决方案:我重写了一些mega下拉列表代码,并使动画正常工作。似乎动画标记正在工作,除了一些与之冲突的样式。隐藏动画是用类似的方法修复的(尽管重复使用
.animate()
函数所花费的时间稍多)。即使在动画更改之后,鼠标悬停效果也无法工作,直到我将其放入自己的函数中,然后在动画完成后让该函数调用主megedropdowns函数。不管怎样,我都能成功,谢谢你,你是想叫animate
,而不是show
$("#container").find('#test').animate({
opacity: "show",
height: "show",
width: "show"
}, 5000);
例如:
您可能还需要查看.show()的文档
阅读评论,了解为什么不需要.show()。感谢SLaks让我知道P您检查过文档了吗?
show
并不是这样做的。它在jqueryui@SLaks中:即使它曾经是。hide()'n?是;animate
调用将显示它<代码>“显示”支持作为值;这就是.show(time)
的实现方式。@SLaks:Wow,我不知道。我更新了我的答案,谢谢!