Tôi có một bộ nút thay đổi màu sắc khi di chuột qua chúng. CSS cho những thứ này hoạt động theo cách này:
#navsiteullibutton
{
chiều cao: 60px;
chiều rộng: 60px;
hình nền: -moz-tuyến tính-gradient (dưới cùng, màu đen, #4D4D4D);
bóng hộp: 2px 3px 3px 2px #888888;
bán kính đường viền: 15px;
màu viền: 359ABC;
cursor: pointer;
lề trái: 5px;
lề phải: 5px;
vertical-align: bottom;
}
nút #navsite ul li: di chuột
{
chiều cao: 60px;
chiều rộng: 60px;
hình nền: không có;
màu nền: #00054C;
bóng hộp: 2px 3px 3px 2px #888888;
bán kính đường viền: 15px;
màu viền: 359ABC;
cursor: pointer;
lề trái: 5px;
lề phải: 5px;
vertical-align: bottom;
}
Sau đó, JavaScript sẽ thay đổi màu khi được nhấp vào (ví dụ bên dưới bao gồm một trong năm nút, mỗi nút có một chức năng, vui lòng loại trừ độ dài):
chức năng anh bạn()
{
document.getElementById("anh chàng").hidden=false;
document.getElementById("bob").hidden=true;
document.getElementById("ted").hidden=true;
document.getElementById("joe").hidden=true;
document.getElementById("fred").hidden=true;
document.getElementById("button1").style.background='#00054C';
document.getElementById("button2").style.background='-moz-Linear-gradient(bottom, black, #4D4D4D)';
document.getElementById("button3").style.background='-moz-Linear-gradient(bottom, black, #4D4D4D)';
document.getElementById("button4").style.background='-moz-Linear-gradient(bottom, black, #4D4D4D)';
document.getElementById("button5").style.background='-moz-Linear-gradient(bottom, black, #4D4D4D)';
}
Vấn đề của tôi bây giờ là sau khi kích hoạt tập lệnh này, các quy tắc CSSnút #navsite ul li: di chuột
Không còn hoạt động và không có hiệu ứng di chuột nào cả. Làm cách nào tôi có thể sửa tập lệnh để nó không ngăn CSS hoạt động bình thường?
EDIT: Tôi có nên xem xét việc biến mệnh đề CSS đó thành một phần của tập lệnh không? Tôi thấy rằng không có cách nào để chuyển đổi tập lệnh thành mệnh đề CSS và tôi muốn sử dụng tài nguyên tối thiểu.
Tôi đã thay đổi tập lệnh để nó liệt kê các lớp sự kiện và các lớp không sự kiện thay vì liệt kê các màu sắc. Tuy nhiên, nó vẫn còn khá cồng kềnh; có ý tưởng nào về cách cô đọng nó không?
Thay vì sử dụng javascript để thêm kiểu trực tiếp vào một phần tử, hãy tạo một lớp .active và đính kèm nó vào phần tử được nhấp vào. Sau đó xóa lớp khi không còn sự kiện nào nữa.
.active{-moz-tuyến tính-gradient(dưới, đen, #4D4D4D)}
Tôi là một lập trình viên xuất sắc, rất giỏi!