2011-12-22 82 views
-1

如果你去到這個站點http://rochesterwaterskishow.com/staging,把鼠標懸停在FF或者Chrome上的about鏈接上,你會看到一個彈出菜單。當你在IE8中做同樣的事情時,菜單不顯示。我沒有檢查過IE7。IE8中的jquery小問題

什麼導致菜單不顯示在IE8中?

的jQuery:

$('#flyout').hover(function() { 
     $(this).children('div').show(); 
    }, function() { 
     $(this).children('div').hide(); 
    }); 
+0

滑塊效果很酷(我不會使用它) – 2011-12-22 01:31:05

+0

嘗試更改它到'$(「#flyout」)。delegate(「*」,「hover」,f,g);' – bevacqua 2011-12-22 01:37:09

回答

1

有趣的是,該錯誤是不是在菜單或您的jQuery的表情都沒有。這是一個在上面的一行:

<h1><a href="http://rochesterwaterskishow.com/staging/index.php/site/index"><img src="http://rochesterwaterskishow.com/staging/assets/images/RWSStandardLogo.gif" class="logo" /></h1> 

有沒有收</a>這裏,這使得IE拋出一​​個不穩定。解決這個問題,你應該很好去。

+0

好的。我想我只需要查找幾行。謝謝。 – Catfish 2011-12-22 03:34:54

+0

我注意到的唯一方法是在IE8中打開並手動刪除「display:none」的CSS規則。如果工作正常,我知道這個問題必須與DOM解析相關,並向後閱讀,直到找到無效的東西。如果手動刪除CSS規則沒有奏效,我會知道這個問題在你的jQuery中。 – Interrobang 2011-12-22 03:37:14

0

問題是$(this).children('div')在IE8中不起作用。我不知道爲什麼(編輯:我想這是因爲Interrobang的帖子中提到的未封閉的<a>標籤)。

我也覺得這應該工作:

$('#flyout').hover(function() { 
    $(this).find('div').show(); 
}, function() { 
    $(this).find('div').hide(); 
}); 

的代碼,如果你把一個類中要隱藏/顯示div標籤一般會針對這些類型的問題更強大,那麼你會有更強大的方法來找到它,而不是依靠只有一個div標籤在正確的地方。