Tôi muốn tạo một số menu lạ mắt được hiển thị dưới dạng cây, nơi chúng ta có thể thấy mối quan hệ giữa mỗi trang và bố mẹ dễ dàng.Tạo cây với bố mẹ và đường dẫn được tô sáng
Nó không hoạt động nhưng tôi cần sự giúp đỡ và ý tưởng của bạn.
Dưới đây là những gì tôi đã làm: http://jsfiddle.net/bXCHn/6/
Vì vậy, ví dụ, nếu bạn di chuột "trang 4 - 3 - 2", nó sẽ làm nổi bật "trang 4-3" và "trang 4". Đây là HTML và CSS cơ bản và nếu bạn xóa tập lệnh jQuery, nó sẽ vẫn hoạt động.
jQuery cho phép chúng tôi thêm lớp sẽ làm nổi bật đường dẫn (đường viền li
) của từng phần tử trước đó trong cây. Nó sẽ không tính đến cấp độ điều hướng đầu tiên:
$(this).prevAll('li:not(.first-lvl-item)').addClass('hover-prev-item');
Bây giờ giữ nguyên ví dụ như trên. Bạn sẽ thấy rằng dòng đầu tiên đi xuống từ "trang 4" đi quá xa (trên thực tế nó đang sử dụng toàn bộ phần tử li
). Tôi muốn nó dừng trước "trang 4 - 3" ...
Tôi không biết liệu tôi có phải thay đổi tất cả cấu trúc của mình hay tôi nên xử lý nó theo cách khác. Tôi đã thử rất nhiều thứ nhưng không có tác dụng ...
Cảm ơn sự giúp đỡ của bạn!
Cảm ơn câu trả lời của bạn. Các đường biên làm cho đường dẫn không nên được xử lý bởi 'li' vì không thể phân tách thành phần này thành từng phần. Thụt lề của bạn bằng cách thêm 'span' là những gì tôi đã cố gắng làm nhưng tôi thực sự không biết cách thực hiện điều này. Vì vậy, mã của bạn hoạt động tốt, nhưng những điều khó khăn còn lại là: - một cách để làm việc này tự động, mà không cần chạm vào CSS nếu chúng tôi thêm nhiều cấp độ hơn. - một cách để làm nổi bật chỉ thụt lề cuối cùng của li đã chọn + tất cả thụt lề của anh em trực tiếp. Để rõ ràng, tôi muốn nó được hiển thị như thế: http://tinyurl.com/cukhan7 – Niflhel
Không phải là khó, phải không? Tôi sẽ để phần còn lại cho bạn. http://jsfiddle.net/bXCHn/11/ quyên góp được chào đón :) – SimonSimCity