JS与Jquery获取屏幕、浏览器、页面的宽度和高度对比整理

获取屏幕、浏览器、页面的宽度和高度是前端开发中常见的需求,Javascript和jQuery都提供了相关的API来实现这个功能。下面我们来一步步剖析如何获取宽高以及它们之间的区别。

获取屏幕宽高(Javascript)

可以使用window.screen对象来获取屏幕的宽高。

var screenWidth = window.screen.width; // 屏幕宽度
var screenHeight = window.screen.height; // 屏幕高度

获取浏览器窗口宽高(Javascript)

可以使用window.innerWidth和window.innerHeight对象获取浏览器窗口的宽高。但是,这些对象的值包含滚动条所占的宽或高,所以要获取不包含滚动条的宽高,还要排除滚动条的宽高。如下所示:

var bodyWidth = document.body.clientWidth; // 浏览器可视区域宽度
var bodyHeight = document.body.clientHeight; // 浏览器可视区域高度
var documentWidth = document.documentElement.clientWidth; // 浏览器窗口文档对象宽度
var documentHeight = document.documentElement.clientHeight; // 浏览器窗口文档对象高度

获取页面宽高(Javascript)

可以使用document对象获取页面文档的宽高。

var pageWidth = document.documentElement.scrollWidth; // 页面文档对象宽度
var pageHeight = document.documentElement.scrollHeight; // 页面文档对象高度

获取屏幕、浏览器、页面的宽度和高度(jQuery)

当然,jQuery也提供了获取屏幕、浏览器、页面宽高的API,使用方法如下:

var screenWidth = $(window).width(); // 屏幕宽度
var screenHeight = $(window).height(); // 屏幕高度
var bodyWidth = $(document.body).width(); // 浏览器可视区域宽度
var bodyHeight = $(document.body).height(); // 浏览器可视区域高度
var documentWidth = $(document).width(); // 浏览器窗口文档对象宽度
var documentHeight = $(document).height(); // 浏览器窗口文档对象高度
var pageWidth = $(document.body)[0].scrollWidth; // 页面文档对象宽度
var pageHeight = $(document.body)[0].scrollHeight; // 页面文档对象高度

需要注意的是,通过jQuery获取的值不包含滚动条所占的宽高,如要获取包含滚动条的宽高,还要加上滚动条的宽高。

示例说明:

<!DOCTYPE html>
<html>
<head>
    <title>Demo</title>
    <meta charset="UTF-8">
    <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
    <style>
        body {
            width: 1000px;
            height: 5000px;
        }
        .page {
            margin: 30px auto;
            width: 80%;
            height: 500px;
            background-color: #e5e5e5;
            line-height: 500px;
            text-align: center;
            font-size: 50px;
        }
    </style>
</head>
<body>
    <div class="page">1</div>
    <div class="page">2</div>
    <div class="page">3</div>
    <script>
        console.log(window.screen.width, window.screen.height);
        console.log(document.body.clientWidth, document.body.clientHeight);
        console.log(document.documentElement.clientWidth, document.documentElement.clientHeight);
        console.log(document.body.scrollWidth, document.body.scrollHeight);

        console.log($(window).width(), $(window).height());
        console.log($(document.body).width(), $(document.body).height());
        console.log($(document).width(), $(document).height());
        console.log($(document.body)[0].scrollWidth, $(document.body)[0].scrollHeight);
    </script>
</body>
</html>

在浏览器中打开这个html文件,可以看到浏览器窗口的宽度和高度,以及页面文档对象的宽度和高度分别被输出在控制台中。同时,还能看到页面展示出了三个高度为500px的块,可以通过观察结果证明所获取的宽高值是正确的。

总之,了解如何获取屏幕、浏览器、页面的宽度和高度,并且能够根据实际需求选取合适的API,是前端开发必备的技能之一。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS与Jquery获取屏幕、浏览器、页面的宽度和高度对比整理 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • 文件的读出 编辑 管理

    文件的读出 编辑 管理 文件的读出 编辑 管理指的是针对文本文件进行查看、修改和删除操作。在操作时,我们可以使用命令行或者各种编辑器来实现对文件的管理。 文件的读出 我们可以使用命令行端(Linux或者Windows命令行)来实现对文件的读出。具体操作如下: 打开命令行(Linux终端或者Windows命令提示符)。 进入到对应的文件所在的目录下。 输入命令…

    JavaScript 2023年6月10日
    00
  • 关于JavaScript中事件绑定的方法总结

    针对关于JavaScript中事件绑定的方法总结,我将提供如下完整攻略: 一、什么是事件绑定 在JavaScript中,事件绑定是指将一个特定的JavaScript函数与某个HTML元素的特定事件联系起来的过程。当该事件在该元素上触发时,相应的JavaScript函数将被调用。事件绑定常用于网页交互中,比如点击按钮、拖拽事件等。 二、如何进行事件绑定 常用的…

    JavaScript 2023年6月11日
    00
  • AngularJS 单元测试(一)详解

    下面是对于“AngularJS 单元测试(一)详解”的完整攻略: 什么是单元测试 单元测试是软件开发流程中的一种测试方法,它可以对一个软件系统、组件或单元进行测试,以确认其是否满足设计目标和要求。它可以提供反馈和验证设计过程的正确性。 单元测试的主要目的是在开发过程中检测代码的正确性,及时发现并解决错误。相比手动测试,单元测试可以更早地检测到错误,提高开发效…

    JavaScript 2023年6月10日
    00
  • Three.js概述和基础知识学习

    Three.js 概述和基础知识学习 什么是 Three.js Three.js 是一个开源的 JavaScript 3D 图形库,它能够在网页上轻松创建和显示 3D 场景。它基于 WebGL(Web Graphics Library)技术,充分利用了浏览器的 GPU,可以呈现出非常流畅和逼真的 3D 图形。 学习 Three.js 的基础知识 1. 了解 …

    JavaScript 2023年6月11日
    00
  • JavaScript中this关键字用法实例分析

    JavaScript中this关键字用法实例分析 什么是this关键字? 在 JavaScript 中, this 关键字是一个特殊的关键字,用于表示当前函数的执行环境。具体来说,this是在每个函数被调用时独立绑定的,如果没有特别指定执行环境,则 this 的默认值是全局对象 window。 this关键字的用法 在 JavaScript 中,this 关…

    JavaScript 2023年5月28日
    00
  • 详解js静态检查工具eslint配置文件

    这里是详解js静态检查工具eslint配置文件的完整攻略: 一、什么是eslint? ESLint 是一种静态检查工具,可以用于检查 JavaScript 代码中的潜在问题。事实上,ESLint 是最流行的 JavaScript 静态检查工具之一。 二、eslint 配置文件 为了让 ESLint 对某些代码或规则进行特殊处理,我们需要在项目中添加一个配置文…

    JavaScript 2023年5月27日
    00
  • JS中BOM相关知识点总结(必看篇)

    那我来给您讲解一下。 JS中BOM相关知识点总结(必看篇) BOM是浏览器对象模型(Browser Object Model)的缩写,是JavaScript与浏览器之间的交互接口,通过它可以获取和操作浏览器的窗口、框架、历史记录等信息。下面是JS中BOM的相关知识点总结: 1. window对象 window对象是指浏览器打开的窗口,它是BOM中的顶层对象。…

    JavaScript 2023年6月11日
    00
  • jquery及js实现动态加载js文件的方法

    首先,为了动态加载 JavaScript 文件,我们需要使用 JavaScript/jQuery 中的 createElement 和 appendChild 方法。下面是详细步骤: 使用原生JS动态加载外部JS文件 通过 createElement 创建一个 script 标签: javascript var script = document.creat…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部