Về cơ bản, một lớp "nổi bật" được thêm vào các phần tử có lớp "cạnh" động thông qua javascript trên con trỏ chuột. Lớp đánh dấu được loại bỏ trên mouseleave. Tôi muốn chuyển đổi màu đường viền của các yếu tố này. Tuy nhiên, lớp "highlight" này cũng thay đổi thứ tự stack. Tôi muốn z-index 1 được đặt trên tất cả các cạnh được đánh dấu trước khi quá trình chuyển đổi bắt đầu (trên con trỏ chuột) và tôi muốn chỉ mục z bị xóa sau khi quá trình chuyển đổi hoàn tất (trên mouseleave). Hiện tại thuộc tính z-index được đặt lại ngay sau khi lớp "đánh dấu" bị xóa.Chuyển tiếp CSS3 - Cách trì hoãn đặt lại thuộc tính z-index?
cơ bản thiết lập:
.edge {
border-color: hsl(0, 0%, 40%);
border-style: solid;
border-width: (set appropriately in another selector);
transition-duration: 1s;
-moz-transition-duration: 1s;
-o-transition-duration: 1s;
-webkit-transition-duration: 1s;
transition-property: border-color;
-moz-transition-property: border-color;
-o-transition-property: border-color;
-webkit-transition-property: border-color;
}
.edge.highlight {
border-color: hsl(0, 0%, 85%);
z-index: 1;
}
nỗ lực đầu tiên (rõ ràng sự chậm trễ ấn định thời gian trên một đầu và messes nó lên trên kia):
.edge {
border-color: hsl(0, 0%, 40%);
border-style: solid;
border-width: (set appropriately in another selector);
transition-duration: 1s, 0;
-moz-transition-duration: 1s, 0;
-o-transition-duration: 1s, 0;
-webkit-transition-duration: 1s, 0;
transition-delay: 0, 1s;
-moz-transition-delay: 0, 1s;
-o-transition-delay: 0, 1s;
-webkit-transition-delay: 0, 1s;
transition-property: border-color, z-index;
-moz-transition-property: border-color, z-index;
-o-transition-property: border-color, z-index;
-webkit-transition-property: border-color, z-index;
}
Bất kỳ và tất cả sự giúp đỡ rất nhiều đánh giá cao. Cảm ơn trước.
chỉnh sửa: Hãy nhớ rằng người dùng có thể di chuột qua/mouseleave trên nhiều cạnh khác nhau trước khi quá trình chuyển đổi có cơ hội hoàn thành. Cảm ơn.
Tôi thích ví dụ của bạn với hoàn cảnh cụ thể của tôi. Nó gần nhưng không có xì gà. Vấn đề là có các cạnh chồng chéo và có thể có nhiều chuyển tiếp khác nhau chạy cùng một lúc. Kỹ thuật của bạn hoạt động miễn là người dùng không xếp chuyển đổi qua các cạnh chồng chéo (tức là đợi cho đến khi quá trình chuyển đổi mouseleave hoàn thành trước khi bắt đầu một chuyển đổi chuột khác trên một cạnh chồng chéo). Cảm ơn mặc dù. Hầu hết! Tôi sẽ bỏ phiếu cho câu trả lời của bạn bởi vì nó vẫn hữu ích, nhưng tôi không có đại diện cho nó. – Shane