在我使用下面的代碼jQuery的懸停事件IE錯誤下拉菜單:與jQuery和超時
clearTimeout(hTimeout);
$('#lowermenu').queue('fx', []);
$('#menucenter .current').removeClass('current');
$(this).children('a').addClass('current');
dTimeout = setTimeout(function($item){slidelower($item)}, 200, $(this)); // This is the bad line
function slidelower($li)
{
$li.addClass('dropping');
$lowermenu = $li.children('ul').clone();
$('#lowermenu:not(:animated)').empty().append($lowermenu).slideDown();
$('#lowermenu > ul > li:not(:animated)').hover(function()
{
$(this).children('ul:hidden').css('top', 'auto').slideDown();
}, function()
{
$(this).children('ul:visible').slideUp();
});
}
我收到以下錯誤:
網頁錯誤的詳細信息
用戶代理:Mozilla/4.0(兼容; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.3; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729 ; OfficeLiveConnector.1.3; OfficeLivePatch.0.0) 時間戳:Sat,14 Nov 2009 11:12:46 UTC
消息: '未定義' 是空或不是對象
線:81
字符:25
代碼:0
URI:[鏈接在這裏]
我懷疑它是由setTimeout引起的 - 我傳入第三個參數作爲匿名函數的參數。該匿名函數用閉包調用一個函數。
任何人都可以幫忙嗎?
謝謝你,你的答案有幫助,但我無法通過一個可用的對象,即使嘗試了許多方法的排列。不過謝謝你。 – 2009-11-14 12:18:54
好吧,我仍然有麻煩: setTimeout(function(theid){window.console.log(theid)},200,'test'); 這是輸出到控制檯「未定義」。我究竟做錯了什麼? – 2009-11-14 12:35:48
完整的源代碼或演示將有所幫助。 – 2009-11-14 12:40:04