bổ sung vào câu trả lời SubRed của:
Điều này hoàn toàn phù hợp với nhu cầu của tôi. Tuy nhiên, thay vì dựa vào độ rộng của thanh cuộn là 20 pixel (như trên), tôi đã sử dụng mã từ:
How can I get the browser's scrollbar sizes?
Điều này cho phép mã để xử lý độ rộng cuộn khác nhau trên các thiết lập khác nhau. Mã được dán vào đây để thuận tiện:
function getScrollBarWidth()
{
var inner = document.createElement('p');
inner.style.width = "100%";
inner.style.height = "200px";
var outer = document.createElement('div');
outer.style.position = "absolute";
outer.style.top = "0px";
outer.style.left = "0px";
outer.style.visibility = "hidden";
outer.style.width = "200px";
outer.style.height = "150px";
outer.style.overflow = "hidden";
outer.appendChild (inner);
document.body.appendChild (outer);
var w1 = inner.offsetWidth;
outer.style.overflow = 'scroll';
var w2 = inner.offsetWidth;
if (w1 == w2) w2 = outer.clientWidth;
document.body.removeChild (outer);
return (w1 - w2);
}
Tôi cũng đã sử dụng giá trị độ rộng cho chiều cao của thanh cuộn và mã được sửa đổi của SubRed cho phù hợp. Điều này bây giờ làm việc với một hoặc cả hai thanh cuộn.
Tôi cũng sử dụng mã từ:
Detecting presence of a scroll bar in a DIV using jQuery?
Để xác định sự hiện diện của một trong hai thanh cuộn và thích nghi các bật/tắt của mã có thể phân loại cho phù hợp.
Rất cám ơn.
Nguồn
2012-12-01 22:53:34
Câu trả lời có thể có thể đặt thành phần tiêu đề đóng vai trò là phần bạn nhấp để kéo trong khi giữ nội dung có thể cuộn riêng biệt – Funkodebat
Tôi đang cố gắng tìm ra cùng một vấn đề. Tôi đã nhận thấy rằng hành vi này tồn tại trong Chrome. Bạn có thể lấy div để giải phóng khỏi chuột mà không cần làm mới bằng cách nhấp chuột phải và sau đó nhấp vào một nơi khác. Trong Firefox, cố gắng di chuyển chỉ thành công trong việc kéo div, không có cuộn xảy ra, nhưng nó không dính vào chuột khi bạn nhả nó. Tôi chưa kiểm tra IE. – jonhopkins
Tôi không thể repo trong Chrome hoặc Safari trên OS X 10.7. Trình duyệt/hệ điều hành nào xảy ra trong combo? – evanmcdonnal