2010-09-15 4 views
7

Tôi có một trang với một jstree và/hoặc jqgrid - nó thực sự không quan trọng mà tôi sử dụng để hiển thị quan điểm của tôi, như tôi nghi ngờ đó là bất kỳ hiệu ứng di chuột trong IE8 ... Quay lại điểm:Tại sao CSS Hover chậm trong IE8?

Khi lơ lửng trên một thẻ <a> các background-color được thay đổi bằng CSS. Trong tất cả các trình duyệt, bao gồm IE7 (mặc dù hơi chậm hơn - tôi đoán là + -300ms) không có độ trễ trong thay đổi nền, nhưng trong IE8 độ trễ có thể nhận được tối đa và hơn 1 giây.

  1. Tôi không gọi thêm bất kỳ onmouseover,onmouseout, v.v. trên bất kỳ của các yếu tố này.

  2. Tôi đã tắt tất cả hoạt ảnh trong jQuery.

  3. Ẩn tất cả các yếu tố trên trang trừ các jstree (ví dụ) không làm cho hiệu ứng di chuột hơi nhanh hơn, nhưng không có gì thực sự đáng chú ý .

  4. Sử dụng IE8 Debuggers profiler không hiển thị bất kỳ ý nghĩa overhead, thời gian chỉ bình thường trong sizzle.js jQuery là đáng chú ý

  5. Đây là sau khi tất cả các yếu tố tài liệu đã được nạp và không có cuộc gọi thêm được thực hiện đến các máy chủ, không có hình ảnh mới được tải xuống, vv ..

Lời khuyên nào về việc cải thiện này, ví dụ như: kiểm tra hiệu suất, lựa chọn thẻ, vv .. sẽ được đánh giá rất cao.

Trân trọng, Byron Cobb.

P.S. Điều này question hỏi trước đây bởi bobmoff đã không thực sự trả lời bất cứ điều gì.

EDIT:

kiểm tra sau đó đã chỉ ra rằng các .hover jquery() và mouseenter ràng buộc và MouseLeave cũng không kém như chậm trong IE8. Ví dụ - Tôi đã xóa mọi thứ trên trang ngoại trừ jqgrid của tôi và hiệu ứng di chuột vẫn chậm (mặc dù tăng nhẹ được quan sát)

Chạy IE8 ở chế độ tương thích cũng khắc phục sự cố di chuột chậm này.

+1

mở câu hỏi để MS Tôi nghĩ ... – annakata

+0

bạn có thể cung cấp một jsfiddle rằng chúng tôi có thể chơi với? Ngoài ra làm thế nào bạn đã giải quyết nó cuối cùng? – lulalala

Trả lời