2009-04-17 36 views
33

Tôi đang ở yêu thích với hộp thoại di chuột "nhấp để đóng" của stackoverflow, chào hỏi người dùng khi họ bỏ phiếu và không đăng nhập hoặc sử dụng trang web không chính xác./hoặc công nghệ mà Jeff sử dụng để thực hiện những thiết bị nhỏ gọn này?Tôi sẽ triển khai hộp thoại lơ lửng của stackoverflow như thế nào?

EDIT: Tôi đang nói cụ thể về các hộp thoại SQUARE có nội dung "Click to Close" trên chúng. trên cùng của màn hình

+0

xem mã nguồn? họ không có vẻ quá phức tạp –

+1

Tôi đang gặp khó khăn khi tìm mã thực tế cho các hộp thoại tôi đang đề cập đến, bạn có thể đăng mã không? – CodingWithoutComments

+0

JavaScript của SO được tối thiểu hóa, vì vậy, cần phải nỗ lực để giải mã nguồn gốc ban đầu. –

Trả lời

51

Mặc dù tôi đã có ấn tượng rằng họ đã sử dụng Hộp thoại giao diện người dùng của jQuery cho điều này, tôi không còn chắc chắn nữa. Tuy nhiên, nó không quá khó khăn để đánh lừa này lên chính mình. Hãy thử mã này:

$('.showme').click(function() { 
    $('.error-notification').remove(); 
    var $err = $('<div>').addClass('error-notification') 
         .html('<h2>Paolo is awesome</h2>(click on this box to close)') 
         .css('left', $(this).position().left); 
    $(this).after($err); 
    $err.fadeIn('fast'); 
}); 
$('.error-notification').live('click', function() { 
    $(this).fadeOut('fast', function() { $(this).remove(); }); 
}); 

Với những phong cách:

.error-notification { 
    background-color:#AE0000; 
    color:white; 
    cursor:pointer; 
    display: none; 
    padding:15px; 
    padding-top: 0; 
    position:absolute; 
    z-index:1; 
    font-size: 100%; 
} 

.error-notification h2 { 
    font-family:Trebuchet MS,Helvetica,sans-serif; 
    font-size:140%; 
    font-weight:bold; 
    margin-bottom:7px; 
} 

click here để xem nó trong hành động.

Tuy nhiên, tôi nghĩ bạn vẫn cần phải tinh chỉnh nó một chút để cung cấp cho vị trí phù hợp tùy thuộc vào tình huống bạn đang sử dụng. Tôi đã chăm sóc này cho vị trí bên trái bởi vì nó đang làm việc cho đầu, nhưng tôi nghĩ rằng có thể có một số tình huống trong đó nó sẽ không. Tất cả những điều được xem xét, điều này sẽ giúp bạn bắt đầu. Nếu bạn muốn triển khai mạnh mẽ hơn, bạn nên xem jQuery BeautyTipsthực sự là tuyệt vời và sẽ làm cho việc triển khai này trở nên tầm thường.

+1

điều này thật tuyệt. cảm ơn! – CodingWithoutComments

+1

Tôi thấy hữu ích khi đặt chỉ mục z thành thứ gì đó rất lớn để đưa hộp thoại được hiển thị lên phía trước. –

+0

[jQuery BeautyTips] (https://assets.lullabot.com/bt/bt-latest/DEMO/index.html) chính xác là những gì tôi cần –

2

Bạn có thể sử dụng thư viện jQuery kết hợp với jQuery UI để tạo dialogs.

+0

Nếu bạn chưa đăng nhập 't kiểm tra JQuery được nêu ra, nó là như vậy tốt, MS có thể sử dụng nó thay vì sửa chữa Microsoft Ajax LOL. MS Ajax có ba cách làm việc: Declaratively (aspx), JavaScript và XMLscript. Ajax 4 phải có chức năng Javascript ListView bên ứng dụng khách với thay thế {data tag} như bộ lặp. –

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