Tôi có một câu hỏi thực sự nhanh chóng nên là một câu trả lời dễ dàng.Đặt div để hiển thị: none; sử dụng javascript hoặc jQuery
Tôi có trình đơn điều hướng trên thiết bị di động sử dụng các cấp menu của trình đơn thả xuống của jQuery. Mỗi khi một cấp được tải, jQuery xác định chiều cao của trình đơn và đặt nó theo đó.
Tôi đang sử dụng đoạn mã sau vào một nút để bật tắt hiển thị và ẩn các menu chính dựa trên trang hiện tại:
<script type="text/javascript">
(function ($) {
$("a.BNnavTrigger").click(function (event) {
event.preventDefault();
$("div.drill-down-wrapper").slideToggle("9000");
});
})(jQuery);
</script>
Để cho menu để bắt đầu "khép kín" trên các trang nhất định, tôi biết tôi phải cung cấp giá trị css là display:none;
cho div chứa. Điều này là tất cả làm việc tốt với một vấn đề nhỏ.
Khi tôi ẩn trình đơn lúc đầu, trình đơn trình đơn thả xuống jQuery phát hiện thấy nó bị ẩn và đặt chiều cao trình đơn thành 0px. Khi tôi chuyển đổi menu trên trang đã ẩn menu ban đầu, tất cả các nội dung khác trong ngăn bật đều chính xác, nhưng chính trình đơn bị kẹt ở độ cao 0.
Trong não, câu trả lời rõ ràng cho vấn đề này là che giấu menu chứa div, qua javascript, sau khi menu đã được tải và thiết lập chiều cao. Điều này có đúng không?
Có ai có thể cung cấp cho tôi một tập lệnh nhỏ để thực hiện việc này không? Tôi là một noob hoàn toàn và hoàn toàn với js. Có ai khác có đề xuất khác về cách xử lý vấn đề này không?
Cảm ơn bạn đã dành thời gian! Alex
CẬP NHẬT!
JS fiddle cho vấn đề ở đây:http://jsfiddle.net/fyyG2/17/ *
Bạn có thể đính kèm tập tin html không? – Edward
Đây là tất cả rất tốt đẹp, nhưng bạn không nên cho chúng tôi thấy cách bạn đang tải trình đơn này và thiết lập chiều cao của nó, nếu chúng ta có nghĩa vụ để có thể giúp bạn với phần đó? – adeneo
@Edward - Tôi đã thêm html tôi đang sử dụng cho menu –