Vâng, đó thực sự là một câu hỏi khá thú vị. Tôi đang cố gắng nghĩ về cách bạn thậm chí sẽ làm một điểm chuẩn cho một cái gì đó như thế này, đặc biệt là vì hầu hết thời gian, cả CSS và JavaScript đều không thực hiện những điều thực sự chuyên sâu về tính toán trên một trang web.
Tôi cảm thấy ruột thịt sẽ nói rằng sử dụng CSS càng nhiều càng tốt, nhưng đừng biến nó thành một quy tắc khó và nhanh.
a:hover {
background-color: green;
}
về mặt ngữ nghĩa thì tốt hơn
$('a').onmouseover(function() {
$(this).css('background-color','green');
})
NHƯNG
$('a').onmouseover(function() {
if (somethingelsehappened) {
$(this).css('background-color','green');
}
})
sẽ là khó khăn (mặc dù không phải là không thể) trong CSS. Bạn có thể làm theo cách này.
$('a').onmouseover(function() {
if (somethingelsehappened) {
$(this).addClass('Green');
}
})
a.green {
background-color: green;
}
Đây thực sự sẽ là một cách khó xử hơn một chút để làm trực tiếp những gì có thể được thực hiện bằng JavaScript, nhưng tôi đã suy nghĩ về nó trong vài phút và ngay cả ở đây, giải pháp phù hợp rất có thể là CSS, ví dụ nếu bạn đã thiết lập rất nhiều thuộc tính khi thực hiện di chuột.
** Xin lưu ý rằng không có mã nào trong số này được dự kiến sẽ hoạt động, chúng chỉ dành cho mục đích trình diễn. **