Xin chào bạn bè Tôi đang cố gắng thêm lớp học vào nội dung động tùy thuộc vào độ phân giải cửa sổ trình duyệt. Đây là mã tôi đang cố gắng sử dụng nhưng cần trợ giúp điều chỉnh nó như tôi không biết jQuery ở tất cả.jQuery: Thêm lớp động tùy thuộc vào độ phân giải cửa sổ trình duyệt
Các tùy chọn tôi muốn đạt được là:
Khi một người truy cập đến trang web của tôi, mã này phải kiểm tra kích thước cửa sổ trình duyệt của mình và thêm lớp để cơ thể theo các quy tắc sau
Nếu kích thước cửa sổ là nhiều hơn 1024px nhưng nhỏ hơn 1280px rồi thêm lớp
.w1280
.Nếu kích thước cửa sổ là hơn 1280px nhưng ít hơn 1440px sau đó thêm lớp
.w1440
.Nếu kích thước cửa sổ là hơn 1440px nhưng ít hơn 1280px sau đó thêm lớp
.w1680
.Nếu kích thước cửa sổ là hơn 1680px rồi thêm lớp
.wLarge
.
Để đạt được điều này, tôi đang cố gắng sử dụng tập lệnh sau. Câu hỏi của tôi là:
Đây có phải là mã đúng? Nếu không đúng mã là gì?
Đây có phải là mã tốt nhất có thể ngắn nhất? Nếu không phải mã nào sẽ đúng?
Vui lòng giúp đỡ như kiến thức về jQuery của tôi gần như là KHÔNG.
function checkWindowSize() {
if ($(window).width() > 1024) {
$('body').addClass('w1280');
} else {
$('body').removeClass('w1280');
}
if ($(window).width() > 1280) {
$('body').addClass('w1440');
} else {
$('body').removeClass('w1440');
}
if ($(window).width() > 1440) {
$('body').addClass('w1680');
} else {
$('body').removeClass('w1680');
}
if ($(window).width() > 1600) {
$('body').addClass('wLarge');
} else {
$('body').removeClass('wLarge');
}
}
checkWindowSize()
@sdl Không cần phải ghi đè lên thuộc tính className hoàn toàn. Chỉ cần đặt chuỗi vào một biến: 'var c = width ...'và sau đó:' c && $ ('body'). addClass (c); ' –
@ Šime Nhưng nếu hàm này được gọi nhiều lần (như, nói, bất cứ khi nào người dùng thay đổi kích thước cửa sổ), nó sẽ là tốt để loại bỏ các lớp học cũ hơn, không còn phù hợp. – sdleihssirhc
@sdl OP không nói rằng anh ta định gọi nó nhiều lần. Nhưng bất kể điều đó, bạn không muốn xóa tất cả các lớp, vì các tập lệnh khác có thể đang thêm các tên lớp. Đây sẽ là cách để đi: '$ ('body'). RemoveClass ('w1280 w1440 w1680 wLarge'). AddClass (c);' –