2010-09-15 16 views
7

Bir jstree ve/veya jqgrid içeren bir sayfam var - IE8'de herhangi bir hover efekti olduğundan kuşkulu olduğum için hangisini kullandığımı önemli değil ... Geriye doğru nokta:Neden IE8'de CSS Hover Yavaş?

Ne zaman? Bir <a> etiketi üzerinde gezinerek background-color CSS ile değiştirilir. IE7 de dahil olmak üzere tüm tarayıcılarda (biraz daha yavaş olsa da + -300ms tahmin etmekteyim) arka planda değişimde bir gecikme yoktur, ancak IE8'de gecikme 1 saniyeye kadar çıkabilir.

  1. Ben bu öğelerden biri üzerine .. vb herhangi bir ekstra onmouseover,onmouseout demiyorlar.

  2. Tüm animasyonları jQuery'de kapattım. (Örneğin) jstree haricinde sayfa tüm unsurları gizlenmesi

  3. hafifçe hızlı hover efekti yaratıyor, ama hiçbir şey gerçekten farkedilir. herhangi bir önemli yükü görünmüyor IE8 Debuggers profilcisini kullanma

  4. , jQuery sizzle.js sadece normal zamanlarda fark edilir

  5. budur sonra yüklenen edilmiş tüm belge elemanları ve hiçbir ekstra aramalar sunucularına yapılır, hiçbir yeni görüntüler örneğin bu iyileştirilmesi vb ..

Herhangi bir tavsiye, indirilen: performans testleri, etiket seçimi vb. Büyük ölçüde takdir edilecektir.

Saygılarımızla, Byron Cobb.

P.S. Daha önce bobmoff tarafından yazılan bu question gerçekten hiçbir şeye cevap vermedi.

DÜZENLEME:

Diğer testler jquery .hover() ve bağlama MouseEnter ve mouseLeave da IE8'de eşit derecede yavaş olduğunu göstermiştir. Örneğin - jqgrid'im dışındaki her şeyi kaldırdım ve hover efekti hala yavaş (hafif bir artış gözlense de)

Uyumluluk modunda IE8 çalıştırmak da bu yavaş gezinme sorununu giderir.

+1

Aç soru MS herhalde ... – annakata

+0

biz oynayabilirsin jsfiddle verebilir misiniz? Ayrıca sonunda nasıl çözdün? – lulalala

cevap