Tôi đang sử dụng Bootstrap của Twitter cuối cùng. Tôi muốn thực hiện một hàm JS nào đó (hiển thị chú giải công cụ một lần) khi chiều rộng cửa sổ của tôi thấp hơn 980px (như bạn đã biết, kích thước này Bootstrap sửa đổi Navbar và ẩn các mục menu chuẩn) - cửa sổ từ 768 đến 979, ngắn gọn . Tôi biết rằngBootstrap: Thiết kế đáp ứng - thi hành JS khi cửa sổ được thay đổi kích thước từ 980px thành 979px
@media (min-width: 768px) and (max-width: 979px) {...}
tùy chọn này có thể được sử dụng để bắt sự kiện. Tuy nhiên, nó chỉ có thể được sử dụng để thay đổi kiểu dáng thoát như
body {background-color:#ccc;}
Và tôi cần khởi chạy chức năng JS, hoặc thêm hoặc xóa kiểu dáng cụ thể cho phần tử. Tôi đã thử:
<script>
window.onresize = function() {
if (window.outerWidth == 980) {alert('');}
};
</script>
nhưng giải pháp này quá chậm và thậm chí treo cửa sổ trình duyệt. Vì vậy, có bất kỳ giải pháp để nắm bắt sự kiện này, khi cửa sổ được thay đổi kích cỡ để 979px từ bên GREATER và thực hiện một chức năng JS?
Nhờ tất cả!
Tại sao sự là giải pháp chậm, không sự kiện này bị sa thải quá thường thì người xử lý của bạn cần bao lâu? Nếu vậy, bạn có thể thử một cái gì đó như ['debounce()'] của Underscore.js (http://underscorejs.org/#debounce) để chỉ thực thi trình xử lý khi cửa sổ được thay đổi kích thước. (Giả sử bạn không thực sự cần những thay đổi để được hoàn toàn trơn tru.) – millimoose
tốt, trong thực tế nó thậm chí không làm việc cho tôi - Tôi couldnt nhận được một cảnh báo khi cửa sổ là 980. Và tôi cần phải nhận được cảnh báo ONLY trong trường hợp khi cửa sổ được thay đổi kích thước từ 980 đến 979. Không ngược lại :) – f1nn
Bất kể câu hỏi nào, +1 để phát minh ra một từ mới có vẻ như nó sẽ tồn tại. – Stickley