javascript - 仅当最小宽度为 800px 时才执行 Javascript

标签 javascript html

对于我的项目,仅当屏幕尺寸等于或大于 800 像素时,我才需要视差滚动效果。为此,我编写了以下代码:

<script>
    if (window.screen.width >= 800) {
        function parallax() {
            var parallax = document.getElementById("box01");
            parallax.style.top = -(window.pageYOffset / 4) + "px";

        }
    }

    window.addEventListener("scroll", parallax, false);

</script>

视差滚动效果很好,但浏览器会忽略“window.screen.width”命令。意思是:视差滚动也适用于小于 800px 的屏幕。

感谢任何帮助!

最佳答案

您要找的是window.matchMedia .

function executeIfMinWidth800 (e) {
  if (window.matchMedia('(min-width: 800px)').matches) {
    // do stuff
  }
}

// call initially
executeIfMinWidth800();

// add handler for resize
window.addEventListener('resize', executeIfMinWidth800);

关于javascript - 仅当最小宽度为 800px 时才执行 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47610716/

相关文章:

html - 如何将 div 标签包裹在 svg 标签内

html - 如何在 Bootstrap 中将按钮对齐到文本框的右侧

javascript - 验证工资输入 jQuery

javascript - Typescript 和 Node js 得到 "Not a Function Error"

javascript - 如何使indexof()区分数组中两个相似的数字

javascript - 更改 asp :TextBox css class depending on value using javascript

php - 异步PHP

c# - 来自 JsonResult 的动态 ActionLink?

javascript - 滚动在 JavaScript 中不起作用

javascript - 使用 jQuery 更改图像并查看图像加载情况