2
我正在为使用jQuery编写的项目构建自定义幻灯片。每个幻灯片有4个绑定到它的事件(play,stop,next,prev)。控件显示在鼠标悬停和鼠标悬停上。在鼠标移出时,我想让控件延迟消失。为了达到这个目的,我使用了setTimeout。setTimeout不会因匿名函数而延迟
$(this).attr('timeout', setTimeout((function(obj){obj.fadeOut(250);})($(this)), 1000));
但是,这是造成“无用的方法setTimeout(失踪围绕论点报价?)”错误
我删除了($(this))
,看看我能简化的东西。
$(this).attr('timeout', setTimeout((function(foo){alert(foo);})('bar'), 1000));
这会导致'bar'显示在mouseout上的警报消息框中,不会延迟或在萤火虫中报告任何错误。我只能通过这个逻辑来假设匿名函数正在马上运行,这对setTimeout稍后调用没有任何影响。
如果我忽视了要通过$(本)到匿名函数,并尝试
$(this).attr('timeout', setTimeout(function(){alert('foo');}, 1000));
一切正常,我必须做一些错误的匿名函数的语法,但我不知道它可能是什么。
感谢