Có cách nào để có chiều rộng và chiều cao của trình duyệt sau khi người dùng đã đổi kích thước cửa sổ hay không. Ví dụ, nếu cửa sổ là 1920 bởi 1080 và người dùng thay đổi cửa sổ 500 500 có cách nào để có được hai giá trị mới trong JavaScript hoặc jquery?Nhận chiều rộng và chiều cao của trình duyệt sau khi người dùng đổi kích thước cửa sổ
Trả lời
Có thể bằng cách nghe sự kiện resize
.
$(window).resize(function() {
var width = $(window).width();
var height = $(window).height();
})
Sử dụng phương pháp thay đổi kích thước của jQuery để nghe thay đổi kích thước cửa sổ. bên trong gọi lại bạn có thể nhận được chiều cao và chiều rộng.
$(window).resize(function(){
var width = $(window).width();
var height = $(window).height();
});
Bạn có thể sử dụng các sự kiện resize
, cùng với height()
và width()
tính
$(window).resize(function(){
var height = $(window).height();
var width = $(window).width();
});
Bạn có thể sử dụng JQuery thay đổi kích thước) chức năng (. Ngoài ra, hãy đảm bảo bạn thêm cùng một logic thay đổi kích thước để tải lại sự kiện. Nếu người dùng tải lại trong cửa sổ có kích thước, logic của bạn sẽ không hoạt động.
$(window).resize(function() {
$windowWidth = $(window).width();
$windowHeight = $(window).height();
});
$(document).ready(function() {
//same logic that you use in the resize...
});
Jay. cảm ơn. Có thể tránh trùng lặp mã không? Tôi sử dụng mega-menu cho trang web của tôi và cần tự động thay đổi kích thước cửa sổ trên thay đổi kích thước cửa sổ và sau khi tải lại. Tại thời điểm này, tôi sử dụng cùng một mã trên các sự kiện 'resize()' và 'ready()'. – Andry
@Andry Bạn có thể chia sẻ mã không? –
tinh khiết Javascript câu trả lời:
var onresize = function() {
//your code here
//this is just an example
width = document.body.clientWidth;
height = document.body.clientHeight;
}
window.addEventListener("resize", onresize);
này hoạt động tốt trên chrome. Tuy nhiên, nó chỉ hoạt động trên chrome. Một ví dụ trên nhiều trình duyệt hơn là sử dụng các thuộc tính đích của sự kiện "outerWidth" và "outerHeight", vì trong trường hợp này, sự kiện "target" là chính cửa sổ. Mã này sẽ là như thế này
var onresize = function(e) {
//note i need to pass the event as an argument to the function
width = e.target.outerWidth;
height = e.target.outerHeight;
}
window.addEventListener("resize", onresize);
này hoạt động tốt trong firefox và chrome
Hy vọng nó sẽ giúp :)
Edit: Tested trong ie9 và điều này đã làm việc quá :)
Chỉnh sửa: document.width và document.height không nên được sử dụng nữa và không hoạt động đối với tôi trên Chrome. Thay vào đó, bạn nên sử dụng document.body.clientWidth và document.body.clientHeight. Xem http://www.howtocreate.co.uk/tutorials/javascript/browserwindow –
Thực tế, Tôi sử dụng điều này và nó giúp tôi rất nhiều:
var TO = false;
var resizeEvent = 'onorientationchange' in window ? 'orientationchange' : 'resize';
$(window).bind(resizeEvent, function() {
TO && clearTimeout(TO);
TO = setTimeout(resizeBody, 200);
});
function resizeBody(){
var height = window.innerHeight || $(window).height();
var width = window.innerWidth || $(window).width();
alert(height);
alert(width);
}
Nếu bạn cần biết những giá trị này để làm layou t điều chỉnh, tôi đặt cược bạn có kế hoạch lắng nghe những giá trị đó. Tôi khuyên bạn nên sử dụng API Window.matchmedia()
cho mục đích đó thay thế.
Đây là much more performant và về cơ bản là tương đương với các truy vấn phương tiện CSS.
dụ Rất nhanh chóng sử dụng:
if (window.matchMedia("(max-width: 500px)").matches) {
/* the viewport is less than or exactly 500 pixels wide */
} else {
/* the viewport is more than 500 pixels wide */
}
Bạn cũng có thể thiết lập một người biết lắng nghe mà sẽ được gọi mỗi khi trạng thái của matches
thay đổi tài sản.
Xem MDN cho description và example of using a listener.
- 1. Kích thước trình duyệt (chiều rộng và chiều cao)
- 2. Chiều rộng tối thiểu trong đổi kích thước cửa sổ
- 3. Kích thước, Chỉ thay đổi chiều rộng/chiều cao
- 4. Lấy chiều cao/chiều rộng của cửa sổ WPF
- 5. Nhận chiều cao và chiều rộng của nội dung hoặc cửa sổ của trang web
- 6. Chiều rộng và chiều cao của giao diện người dùng jQuery dựa trên chiều rộng và chiều cao màn hình
- 7. tự động phát hiện thay đổi chiều rộng cửa sổ trình duyệt web?
- 8. JavaScript - Nhận Chiều cao Trình duyệt
- 9. chiều rộng/chiều cao sau khi chuyển đổi
- 10. truy vấn phương tiện cho kích thước trình duyệt có chiều rộng nhỏ hơn chiều cao
- 11. jQuery - Phát hiện thay đổi chiều rộng cửa sổ nhưng không thay đổi chiều cao
- 12. Tự động thay đổi kích thước chiều rộng và chiều cao bằng hộp thoại jQuery
- 13. Tự động thay đổi kích thước div dựa trên kích thước của cửa sổ trình duyệt
- 14. Nhận vị trí/chiều rộng/chiều cao của MainWindow
- 15. JQGrid: Thay đổi kích thước chiều rộng lưới sau khi đổi kích thước cột
- 16. Hỗ trợ trình duyệt thuộc tính chiều rộng và chiều cao của getBoundingClientRect?
- 17. HTML/CSS - điều chỉnh kích thước phông chữ để lấp đầy chiều cao và chiều rộng của bố mẹ
- 18. Nhận chiều rộng/chiều cao của bố cục trong Android
- 19. Thay đổi kích thước cửa sổ theo chiều dọc
- 20. Thay đổi kích thước/tỷ lệ facebook như nút (chiều cao và chiều rộng)
- 21. Chiều rộng DOM HTML + chiều cao của cửa sổ hiển thị
- 22. Cách tự động kích thước chiều cao của nhãn nhưng không phải chiều rộng
- 23. CSS 100% chiều rộng trên trình duyệt thay đổi kích thước
- 24. thay đổi kích thước lưới khi đổi kích thước cửa sổ trình duyệt
- 25. Làm cách nào để tìm kiếm bằng cách sử dụng javascript chiều rộng cửa sổ trình duyệt tối đa của người dùng và hiện tại
- 26. JQUERY UI Accordion Thay đổi kích thước trên cửa sổ Thay đổi kích thước?
- 27. FancyBox thay đổi kích thước chiều rộng
- 28. Kéo hình ảnh để lấp đầy chiều rộng của cửa sổ trình duyệt
- 29. Cách thay đổi kích thước phông chữ và chiều rộng và chiều cao của các tab jQuery-UI
- 30. Các vấn đề với ràng buộc với chiều cao và chiều rộng cửa sổ
Tôi đã thử cách này nhưng tôi vẫn nhận được kích thước gốc – Gregwest85
bạn có thể chia sẻ mã của mình không? – Anoop