2009-10-25 58 views
28

Có ai biết nếu có cách tắt thanh cuộn trong hộp thoại jquery không? Nội dung tôi có trong div là 300 px nhưng hộp thoại được đặt thành 200px. Nó tự động đặt thanh cuộn nhưng tôi không muốn chúng. Tôi sẽ tự thêm nó vào div thứ hai làm cho nó lớn hơn cửa sổ. Bất kỳ trợ giúp được đánh giá cao.Làm cách nào để vô hiệu hóa thanh cuộn trong hộp thoại Giao diện người dùng jQuery?

Trả lời

10

Bạn có ý là jQuery UI dialog widget?

Bạn có thể chuyển tùy chọn khi tạo nó để chỉ định chiều cao của nó, ví dụ:

$('.selector').dialog({ height: 350 }); 

Làm cho nội dung của bạn cao hơn nội dung bạn đặt vào đó và tôi nghi ngờ bạn sẽ vàng.

4

Tôi không biết chính xác những gì bạn có ý nghĩa bởi một 'jquery hộp thoại', nhưng cách tiêu chuẩn để vô hiệu hóa các thanh cuộn sẽ được thiết lập thuộc tính tràn của div để 'ẩn'

đặt này trong thư mục css file:

div.class_name { 
    overflow: hidden; 
} 
+0

jquery (một trình bao bọc javascript) có hộp thoại riêng. có những lựa chọn trong jquery để làm những việc tương tự nhưng không tìm thấy một cho plugin cụ thể này. Tôi không thể chỉ thiết lập thuộc tính đó cho jquery – ngreenwood6

+3

jquery không phải là một trình bao bọc javascript, nó là một khung làm trừu tượng các vấn đề liên quan đến trình duyệt và đơn giản hóa việc duyệt DOM ... nếu bạn có thể chỉ định hàm jquery nào bạn đang sử dụng để tạo ra 'hộp thoại' sau đó tôi có thể giúp đỡ ... –

+2

Không chắc chắn lý do tại sao điều này đã được downvoted rất nhiều khi đó là cách thích hợp để làm việc. '.ui-dialog-content {overflow: hidden; } 'để vô hiệu hóa các thanh cuộn trên tất cả các hộp thoại. '#myDialogID {overflow: hidden; } 'chỉ một. –

63

tôi giải quyết vấn đề như thế này:

.dialog({ 
    title: $(this).attr("data-dialog-title"), 
    closeOnEscape: true, 
    close: function() { $(this).remove() }, 
    draggable: true, 
    position: 'center', 
    width: 500, 
    height: 'auto', 
    modal: true, 
    open: function (event, ui) { 
    $('#myDialogId').css('overflow', 'hidden'); //this line does the actual hiding 
    } 
}); 
+1

Bạn có thể giải thích những gì bạn đã làm để vô hiệu hóa thanh cuộn không ? –

+0

Ồ, tôi hiểu .. cảm ơn! –

+5

Chỉ cần ném vào một sửa chữa nhanh chóng cho người bình luận câu trả lời cụ thể này (mà tôi sử dụng nhờ btw người đàn ông). Điều gì loại bỏ các thanh cuộn đang ẩn tràn với thủ thuật css đó, rất trơn.Phần này ẩn: "mở: chức năng (sự kiện, ui) { $ ('# myDialogId'). Css ('tràn', 'ẩn'); }" – unrealtrip

2

Các overflow: hidden làm việc cho tôi. Khi chỉ thiết lập thông số chiều cao/chiều rộng, các thanh cuộn sẽ vẫn xuất hiện tùy thuộc vào kích thước văn bản và thu phóng.

1

này loại bỏ các thanh cuộn:

$("#dialog").dialog({ 
    autoOpen: false, 
    resizable: false, 
    dialogClass: 'info', 
    height: 'auto', 
    width: 'auto', 
    show: { effect: "blind", duration: 1000 }, 
    hide: {effect: "explode", duration: 1000 }, 
    draggable: true, 
    open: function (event, ui) { 
     $(this).dialog('open'); 
    }, 
    close: function (event, ui) { 
     cleanup() ; 
    } 
}); 
2

Giải pháp không có css hoặc Chiều cao cố định:

Tôi nghĩ rằng giải pháp tốt nhất cho vấn đề trên là để làm cho chiều cao hộp thoại năng động, chiều cao nên điều chỉnh tự động theo nội dung, khi nội dung tăng chiều cao phương thức sẽ tăng lên. Để làm điều này sử dụng chiều cao "tự động" tùy chọn được cung cấp bởi jquery UI phương thức, nó điều chỉnh chiều cao phương thức theo nội dung rất cần add 'overflow: hidden' hoặc 'height: 350'

$("#dialog").dialog({ 
modal : true, 
height:"auto" 

}); 
0

Trong ví dụ dưới đây Tôi cũng đã thêm 'resizable = false' cho hộp thoại. Vì vậy, không thể nhìn thấy bất kỳ văn bản tràn nào bằng cách thay đổi kích thước hộp thoại.

$("a#registerServerStudio , a#regServer").click(function(e) { 
    //alert("login using POST is Clicked"); 
    e.preventDefault(); 
    registerSuccess = false; 

    regSSDlg = $("#regSS").dialog({ 
     autoOpen: false, 
     height: 280, 
     width: 420, 
     modal: true, 
    resizable: false, 
     buttons: { 
     }, 
     close: function() { 
     registerSuccess = false; 
     }, 
    show:{effect:'bounce', duration: 100}, 

    }); 
    $('#regSS').css('overflow', 'hidden'); 
    regSSDlg.prev(".ui-dialog-titlebar").css({"background":"#47669E", "color":"white", "font-size":"13px", "font-weight":"normal"}) ; 

    regSSDlg.dialog("open"); 
}); 
Các vấn đề liên quan