javascript - 最大宽度检测/功能的最佳语法 JavaScript
问题描述
今天我有一个关于 Js 最佳语法的问题:
这是通常的版本
function resize() {
if ($(window).width() < 960) {
$('. slect span').click(function () {
$('.home-footer').toggleClass('open-in-mob');
});
} else {
$('.home-footer').removeClass('open-in-mob');
$('. slect span').click(function () {
$('.home-footer').toggleClass('open-in-mob');
});
}
}
$(document).ready(function () {
$(window).resize(resize);
resize();
});
这里是另一个有效的版本,但是,我有你的意见:
if (matchMedia('only screen and (max-width:959px)').matches) {
$(".slect span").click(function(event) {
$(this).parents(".home-footer").addClass("open-in-mob");
});
}
如果您认为其他语法更好,请分享:)谢谢
解决方案
通过使用 CSS 媒体查询,这可能会更容易/简化。将 JS 添加到混合中以控制页面布局应该作为最后的手段。DOM重排的次数越多,页面速度就越慢。
CSS 示例:
@media (max-width: 960px) {
// Your code here
}
https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries
推荐阅读
- acumatica - 向 Acumatica 提交销售订单时出错
- regex - 正则表达式匹配除字符之外的任何内容(包括空字符串)
- android - react-native-image-picker+axios 在 Android 上上传失败
- javascript - 初始化一次后如何导出变量?
- python - 我有 4 点,我想找到给定起点的最短路径
- flutter - flutter_bloc 与自写 bloc 或 MVVM 比较
- reactjs - React 不适用于备忘录和树结构
- systemd - 分析崩溃/死机系统的 systemd 日志
- android - 透明活动中的 setOnTouchListener
- excel - FileDialog(msoFileDialogFolderPicker) - 如何将初始路径设置为“root”/“This PC”?