2013-06-03 30 views
5

Tôi muốn thay đổi hành vi của Menu Khởi động Twitter trên các thiết bị nhỏ để đóng menu mở rộng bằng cách nhấp vào mục menu hoặc nhấp vào menu nút. Hiện tại (mặc định) tôi chỉ có thể thu gọn nó bằng cách nhấp vào nút menu ở góc trên cùng bên phải, cho dù tôi có nhấp vào liên kết/mục menu hay không. Tôi sẽ làm như thế nào? Tôi không tìm ra từ tài liệu TB và tìm kiếm trên internet không cung cấp bất kỳ câu trả lời nào.Trình đơn khởi động/thiết bị nhỏ của Twitter Bootstrap: menu đóng/thu gọn khi nhấp vào một mục menu

Trả lời

6

Bạn có thể thử một cái gì đó giống như ..

$('.nav li a').on('click',function(){ 
    $('.nav-collapse').collapse('hide'); 
}) 

này sẽ làm việc cho các liên kết menu đang tham chiếu '#'. Trình đơn đã bị thu gọn nếu trình đơn của bạn liên kết điều hướng đến một trang khác trên trang web vì điều này sẽ làm cho toàn bộ trang được làm mới.

+0

Cảm ơn bạn, Skelly! Tôi sẽ thử nó. Vấn đề là tôi có một trang web duy nhất, sử dụng các neo để trang không được làm mới vì liên kết sẽ không điều hướng khỏi trang hiện tại. – gfaw

+0

Điều đó thực sự thực hiện! Cảm ơn một lần nữa! – gfaw

+1

Đây là một câu trả lời tuyệt vời. Tôi đã không nhận ra logic Bootstrap mặc định để thu gọn menu không hoạt động khi sử dụng một ứng dụng trang đơn (như trên ứng dụng Angular.JS.) Tôi đã phải sử dụng $ ('. Navbar-collapse'). '); thay vì "nav-collapse" nhưng nếu không thì nó sẽ hoạt động như một nét duyên dáng. –

7

Cảm ơn bạn đã sửa Skelly. Nó hoạt động tốt trên menu "di động", nhưng tiếc là nó đã gây ra lỗi khiếm khuyết trong chế độ "máy tính để bàn" vì nó đang nhắm mục tiêu .nav-collapse và lớp này hoạt động ở cả hai chế độ. Vì vậy, tôi đã thực hiện một sửa đổi nhỏ:

$('.nav li a').on('click',function(){ 
    $('.navbar-collapse.in').collapse('hide'); 
}) 

Sửa đổi này sẽ chỉ gọi chức năng 'ẩn' khi menu ở chế độ "di động".

Lưu ý: Đây chỉ thử nghiệm trên Bootstrap 3.

+0

Hoạt động hoàn hảo trong Bootstrap 3.0. Cảm ơn! – plang

+0

Tôi đã tìm kiếm rất nhiều câu trả lời này cảm ơn bạn rất nhiều vì nó rất hữu ích. – RPDeshaies

3

Bạn có thể làm điều đó bằng cách sử dụng HTML, thêm data-toggle="collapse" data-target=".in" để neo

Ví dụ:

<li><a href="#" data-toggle="collapse" data-target=".in">Link</a></li> 
+0

Đây chắc chắn là câu trả lời hay nhất. Đơn giản. Cảm ơn. – Batman

Các vấn đề liên quan