2012-01-24 35 views
12

Trên trang aspx của tôi, tôi có hai phần bên trái và bên phải. Tôi muốn hiển thị luôn luôn bên trái (mà thực sự là một 'div' containig treeview) trong khi di chuyển phía bên phải (đó là nội dung thực tế của trang). Cảm ơnLuôn nhìn thấy div khi di chuyển

+0

xin vui lòng chọn câu trả lời ưa thích của bạn @M Usman Shafique – Despertaweb

Trả lời

11

Bạn cần đặt position: fixed; trên phần tử div. Điều đó sẽ neo nó vào khung nhìn.

+0

Cảm ơn, nhưng tôi đang sử dụng IE7 nơi vị trí: cố định không hoạt động –

+4

Quên về ie7 và phiên bản cũ nó là một sự lãng phí thời gian, anh chàng;) – Despertaweb

+0

Những gì bạn sẽ làm gì khi chiều cao của div là lớn hơn viewport. –

1

Bạn cần đặt vị trí của div thành Cố định trong CSS. Xem this link để biết thêm thông tin. Bạn sẽ cần phải thiết lập vị trí bằng cách sử dụng đầu và bên trái trong css cũng vì vậy nó biết nơi để sửa chữa nó!

17

Xin chào, tôi đã tìm ra giải pháp tốt nhất! Như mọi khi JQUERY tiết kiệm cuộc sống của tôi !!

Chỉ cần đặt một Div được gọi là bạn wan, tôi đã chọn giống như trong ví dụ bên dưới: #scrollingDiv.

<script type="text/javascript" src="jquery-1.3.2.min.js"></script> 
<script> 
    $().ready(function() { 
     var $scrollingDiv = $("#scrollingDiv"); 

     $(window).scroll(function(){    
      $scrollingDiv 
       .stop() 
       .animate({"marginTop": ($(window).scrollTop())}, "slow");   
     }); 
    }); 
</script> 

Tôi lấy mã đó từ một trang web, nó hoạt động và nó khá dễ hiểu.

1

Vấn đề là khi khối di chuyển, nó được chú ý và khả năng tập trung vào việc đọc.

Để khắc phục điều này bằng cách sử dụng chức năng này.

Mã này là hoàn hảo:

(thay đổi "220" và "46px" nếu cần thiết)

var $scrollingDiv = $("#scrollingDiv"); 

$(window).scroll(function(){  
if ($(window).scrollTop()>220)  { 
      $scrollingDiv 
       .css("position",'fixed') 
       .css("top",'46px')   
     } else { 
$scrollingDiv 
       .css("position",'')  
       .css("top",'')    
     } 
     }); 
Các vấn đề liên quan