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));
一切正常,我必須做一些錯誤的匿名函數的語法,但我不知道它可能是什麼。
感謝