javascript - $(window).ready(function() ){} 应该等待图像、css 加载
问题描述
目前我正在使用_fitScreen
适合我的 UI 在特定窗口中的功能。我正在调用_fitScreen
函数$(window).load()
。但是window.load()
,只有在页面完全加载时才会执行,即如果我按 CTRL+F5。我想_fitScreen
在选项卡之间切换时执行。
$(window).load(function() {
me._fitScreen();
});
我知道我可以使用$(window).ready(function() {})
,但ready()
不会等待加载图像或 CSS。
谁能建议我如何使用ready()
等待图像和 CSS 加载?我不想使用第三方插件。
解决方案
使用document.ready
不会解决任何问题。它在加载 CSS 和图像之前运行的事实与问题无关。
鉴于问题是您想在重新聚焦选项卡时调整 UI 的大小(大概是在窗口被调整大小而包含您的站点的选项卡不活动的情况下),那么您只需要挂钩到该resize
事件。
您可以使用其他技术来了解选项卡何时失去/获得焦点,但鉴于上述问题陈述,它们再次无关紧要。尝试这个:
$(window).on('load resize', function() {
me._fitScreen();
});
您还应该注意,依靠 JS 根据屏幕大小来修复您的 UI 是一个非常糟糕的主意。请改用 CSS 媒体查询,并完全避免此问题。
推荐阅读
- c# - 如何使用 Nest C# 在弹性搜索查询 (EQL) 中使用不存在或 null?
- laravel - 带有求和和分组的 Laravel 模型查询
- node.js - 两个时间戳之间的 Firebase Firestore 查询
- javascript - 如何使用angularjs动态加载html表中的嵌套数组属性?
- python - Python 多文件内容
- c++ - 如何使用 Poco::ZIP 压缩/解压缩 zip 文件
- azure - Webhook 调用失败。错误:PERMISSION_DENIED。dialogflow webhook 调用错误
- mysql - 可快速搜索的同义词
- javascript - 从导航栏链接(内部 php / html 文件)到同一页面内的主要部分
- javascript - 这是 intl.dateTimeFormat 错误吗?