5

Vì vậy, nó chính thức: Tôi ghét Internet Explorer. Có, tất cả các phiên bản đẫm máu của nó. :-DjQuery sử dụng .animate() không làm bất cứ điều gì trong IE8

Vì vậy, tôi không nghĩ rằng tôi đã làm bất cứ điều gì phức tạp ở đây, nhưng dường như tôi. Tôi có một loạt các mục danh sách trong một danh sách không theo thứ tự được tạo kiểu cho menu điều hướng và trong Firefox, Chrome, Safari và Opera, mọi thứ hoạt động tốt. Điều đáng lẽ xảy ra là khi bạn di chuột qua một mục điều hướng, nó sẽ sinh động một số tăng trưởng và tạo hiệu ứng thay đổi màu nền.

Không có gì xảy ra trong Internet Explorer 7/8.

Tôi nghĩ rằng nó chỉ gắn liền với chức năng animate, vì nếu tôi trao đổi .animate với .css, nó hoạt động.

http://project-cypher.net/wtf/ (* url bị xóa - giải quyết sự cố)

Ý tưởng?

+0

Teh codez dường như này: http://pastebin.com/zjmrS9wJ –

+7

'Vì vậy, nó chính thức: Tôi ghét Internet Explorer. Có, tất cả các phiên bản đẫm máu của nó.'. Gì lâu thế? –

+0

@ Lucas Jones: Vâng, đó là javascript móc sự kiện di chuột và làm hoạt hình thành phần neo. Tôi đã bỏ lỡ điều gì đó hay bạn đã gửi một bản chỉnh sửa cho những gì tôi đã viết? – Cypher

Trả lời

3

Thay đổi thuộc tính hình ảnh động của bạn một chút bằng backgroundColor, paddingToppaddingBottom, điều này sẽ làm việc:

$('ul.navigation li a').css('padding','0px 12px'); 
$('ul.navigation li a').hover(function() { 
    $(this).stop().animate({ 
     backgroundColor : '#336699', 
     'padding-top': 6, 
     'padding-bottom': 6 
    }, 150); 
}, function() { 
    $(this).stop().animate({ 
     backgroundColor: '#660000', 
     paddingTop: 0, 
     paddingBottom: 0 
    }, 150); 
}); 

CSS này:

ul.navigation li a { 
    padding: 6px 12px; 
    color: #fff; 
    text-decoration: none; 
    background: #600; 
} 
+0

Cảm ơn, điều đó khiến tôi gần gũi hơn. Màu nền bây giờ mờ dần trong và ngoài như nó cần. Các padding vẫn không áp dụng mặc dù ... Tôi đã cố gắng như bạn đã viết nó, cũng đã cố gắng đóng gói các giá trị trong dấu nháy đơn ... cho đến nay không có gì. – Cypher

+0

Cypher - Chỉ trong IE8? Tôi đã thử nghiệm, làm việc ở đây trong IE8 ... –

+0

@Nick - Có, không có súc sắc trong IE7/8, tốt trong các trình duyệt khác. Tôi đang sử dụng jQuery 1.4.2. Không thể nhớ phiên bản của plugin màu ghi đè .animate(), nhưng tôi đã tải xuống phiên bản đó vài ngày trước. Có lẽ tôi sẽ cố gắng lấy một bản sao mới, chưa được rút gọn ... – Cypher

0

Nếu tôi thay đổi 'padding': '6px 12px' thành 'padding': '12px' có vẻ như nó hoạt động. Bạn có thể thử điều này và báo cáo nếu nó không hoạt động trên đầu của bạn?

Nó không hoàn hảo nhưng nó làm một cái gì đó, và giúp bạn gần gũi hơn một chút để sửa chữa nó.

EDIT: Dang, tự hỏi tại sao không. Làm việc ở đây. IE8. IDK, có lẽ bạn đã có giải pháp từ câu trả lời khác.

+0

Hrm, điều đó dường như không hoạt động trong IE8. Đã không kiểm tra trong 7 ...:) – Cypher

1

Tôi chạy vào vấn đề này bản thân mình, một ngày khác. Tôi không thể tìm ra lý do tại sao IE không hoạt động đúng đối tượng.

Câu trả lời rất đơn giản, mặc dù: sử dụng jQuery UI

jQuery UI bao gồm một plugin màu cải tiến mà thực sự hoạt động.

Kiểm tra những điều gọn gàng khác trong jQuery UI trong khi bạn đang ở đó - các nút, hộp thoại, quán bar, các tab, vv tiến

+0

Đẹp cắm. Thực sự không có gì để làm với nó, nhưng cảm ơn anyway. – Cypher

+0

. jQuery UI có một plugin màu cho phép backgroundColor được sử dụng trong 'animate'. –