javascript - 如何在不刷新浏览器的情况下获取更改?

标签 javascript

当我调整浏览器大小并刷新页面时,如果 div 宽度大于浏览器宽度,则 div 不会显示。如何使其不刷新页面。例如,当我调整浏览器大小时,如果 div 宽度大于浏览器宽度,它将自动不刷新页面,不显示任何内容。

var body = document.querySelector('body');
var div = document.querySelector('div');

if (div.scrollWidth > body.clientWidth) {
  div.style.display = 'none';
}
body {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}

div {
  width: 350px;
  height: 60px;
  background-color: lightgray;
}
<body>
  <div> </div>
  <script src="main.js"></script>
</body>

谢谢。

最佳答案

这不是正确的方法,但您可以监听调整大小事件来重新检查您的条件。

let body = document.querySelector('body');
var div = document.querySelector('div');

if (div.scrollWidth > body.clientWidth) {
  div.style.display = 'none';
}

window.addEventListener("resize", function() {
  if (div.scrollWidth > body.clientWidth) {
    div.style.display = 'none';
  }else div.style.display = '';
});
body {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}

div {
  width: 350px;
  height: 60px;
  background-color: lightgray;
}
<body>
  <div> </div>
  <script src="main.js"></script>
</body>

对于这种响应条件,最好的方法是使用 CSS 媒体查询。您可以在这里找到更多信息:https://www.w3schools.com/css/css_rwd_mediaqueries.asp

关于javascript - 如何在不刷新浏览器的情况下获取更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52096501/

相关文章:

javascript - 在 JavaScript 中,如何创建带有可选参数的函数?

javascript - 如何在 React JS 中为 div 动态设置类名

javascript - 想把这个弹窗效果做成插件

javascript - 我的 NightmareJS 的 http 响应代码未定义

javascript - 如何验证 getOpenIdTokenForDeveloperIdentity 认知 token

javascript - 如何为移动体验制作响应式图片

javascript - 递归迭代 Promise

javascript - 如果多次运行工厂,JavaScript 工厂中的数据将被覆盖

javascript - 用 TypeScript 编写的具有 protected /私有(private)字段的类可以从 JavaScript 中的类外部访问吗?

javascript - 如何删除 lodash 模板创建的换行符?