Dưới đây là câu trả lời của tôi sử dụng jQuery:
jQuery.fn.ddnav = function() {
this.wrap("");
this.each(function() {
var sel = document.createElement('select');
jQuery(this).find("li.label, li a").each(function() {
jQuery("<option>").val(this.href ? this.href : '').html(jQuery(this).html()).appendTo(sel);
});
jQuery(this).hide().after(sel);
});
this.parent().find("select").after("<input type=\"button\" value=\"Go\">");
var callback = function(button) {
var url = jQuery(button.target).parent("div").find("select").val();
if(url.length)
window.open(url, "_self")
};
this.parent().find("input[type='button']").click(callback);
this.parent().find("select").change(callback);
return this;
};
Và sau đó trong handler onready của bạn:
$("ul.dropdown_nav").ddnav();
Nhưng tôi sẽ chỉ ra rằng đây là khủng khiếp đối với khả năng sử dụng. Tốt hơn nên sử dụng danh sách và hiển thị cho mọi người tất cả các tùy chọn cùng một lúc và tốt hơn là không nên điều hướng đi sau khi lựa chọn và/hoặc yêu cầu một nút khác để được đẩy tới nơi họ muốn.
Tôi nghĩ rằng bạn tốt nhất nên không bao giờ sử dụng ở trên (và tôi đã viết mã!)
Nguồn
2008-09-19 12:54:34
Thật tuyệt, nhưng tôi * bỏ qua * các trình đơn thả xuống trên các trang web có hành động mà không cần tôi nhấp; nó dẫn đến những thứ xuất hiện để che khuất nội dung khi tôi không thực hiện hành động công khai nào cho điều đó xảy ra. – delfuego
Điều đó có liên quan gì đến siêu cá? Nó không làm điều đó. – Buzz
Tôi thấy điều này đẹp và dễ cấu hình. Và phần tốt nhất là nó hoạt động trong IE6, IE7 và Firefox (tôi chưa thử nghiệm với những người khác). – Germstorm