window 和 document :

window 对象表示浏览器打开的窗口,可以省略

document对象(浏览器的html文档)是window对象的一部分

document.body等于window.document.body

document.location === window.loacation

document.location.href === location.href(location是一个对象)

window相关的 width和height:

window.innerHeight是真的可视区域高度(除去了各种任务栏工具栏宽高,随窗口缩放或f12改变)

screen 的 width、height、availWidth、availHeight 是固定不变的

window.innerHeight 和 window.innerWidth 不兼容ie8及以下版本

兼容问题推荐使用 获取浏览器窗口可视区域大小

var w= document.body.clientWidth || document.documentElement.clientWidth;

var h= document.body.clientHeight || document.documentElement.clientHeight;

document(element)相关的 width和height:

1、document.body.clientHeight是元素真实高度 (无论有无任务栏工具栏遮掩及窗口缩放)tip:滚动条宽度约17px

clientHeight = content + 2.padding;

clientLeft和clientTop返回元素周围边框的厚度,如果不指定边框或者不定位元素,其值为0

即:

clientLeft = border-left-width;

clientTop = border-top-width;

2、document.body.offsetWidth是元素加入滚动条的整体宽度

offsetWidth = content + 2.padding + 2.(border-width)+滚动条;

所以滚动条宽度= offsetWidth - clientWidth

3、document.body.scrollHeight是元素实际的子元素内容高度

无滚动轴时:scrollHeight == clientHeight = style.height+2.padding;

有滚动轴时:scrollHeight == 实际子元素的高度+2.padding;

element.offsetLeft和element.style.left相对于父对象的左边距

document.getElementById("v1").offsetLeft 只读、数值、包括margin

document.querySelector("#v1").style.left 可读可写、字符串px

event对象坐标:

clientX和clientY ----> 相对于浏览器(可视区左上角0,0)的坐标

screenX和screenY ----> 相对于设备屏幕左上角的(0,0)的坐标

offsetX和offsetY ----> 相对于事件源左上角(0,0)的坐标

pageX和pageY ----> 相对于整个网页左上角(0,0)的坐标

js宽高实际应用

1、可视区域加载图片或元素
function showDiv(){
var myPic=document.getElementById("showDiv");
var clientH=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;
var picTop=myPic.offsetTop;
if(picTop<=clientsH+scrollTop){
myPic.classList.add("fadeInLeft");
//图片延迟加载:把图片路径先放在一个属性中,再给src
}
}
window.onscroll=showDiv;

classList H5新API

classList 属性返回元素的类名,作为 DOMTokenList 对象。

该属性用于在元素中添加,移除及切换 CSS 类。

classList 属性是只读的,但你可以使用 add() 和 remove() 方法修改它。

http://www.runoob.com/jsref/prop-element-classlist.html

2、网页滚动底部或顶部
function scrollTopBottom(){
var myPic=document.getElementById("showDiv");
var clientH=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;
var scrollTop=document.body.scrollTop;
var wholeHeight=document.body.scrollHeight;
if(scrollTop+clientH>=wholeHeight){
alert("滚到底部了");
}
if(scrollTop==0){
alert("滚动到顶部了")
}
}
window.onscroll=scrollTopBottom;

jquery的宽和高

$(ele).innerHeight() == ele.clientHeight

$(ele).outerHeight() == ele.offsetHeight

  • .height() //元素本身高度
  • .innerHeight() //在height的基础上加了padding值
  • .outerHeight() //在innerHeight的基础上加了border
  • .outerHeight(true) //在innerHeight的基础上加了border和margin

$(ele).position().left == ele.offsetLeft

整个元素算上margin、padding后的样子

  • .offset() //获取匹配元素在当前视口的相对偏移
  • .position() //获取匹配元素相对父元素的偏移

jquery宽高实际应用

1、可视区域加载图片或元素
$(window).scroll(function(){
var clientH=$(window).height();
var scrolltop=$(window).scrollTop();
var picTop=$("#showDiv").offset().top;
if(clinetH+scrollTop>=picTop){
$("#showDiv").addClass("fadeInLeft");
}
})

js 和 jquery的宽高的更多相关文章

  1. js获取隐藏元素宽高的方法

    网上有一些js获取隐藏元素宽高的方法,但是可能会存在某些情况获取不了. 例如: <!DOCTYPE html> <html lang="en"> <h ...

  2. JS获取图片实际宽高及根据图片大小进行自适应

    JS获取图片实际宽高,以及根据图片大小进行自适应  <img src="http://xxx.jpg" id="imgs" onload="ad ...

  3. JS获取图片实际宽高

    JS获取图片实际宽高,以及根据图片大小进行自适应 <img src="http://xxx.jpg" id="imgs" onload="ada ...

  4. 前端 JS 获取 Image 图像 宽高 尺寸

    前端 JS 获取 Image 图像 宽高 尺寸 简介 项目中用到获取图片的原始尺寸,然后适配宽高:网上的大部分前端解决方案,都是new Image()后,在onload事件中获取image的尺寸. 在 ...

  5. js自定义获取浏览器宽高

    /** * @description js自定义获取浏览器宽高 * * IE8 和 IE8 以下的浏览器不兼容 * window.innerWidth * window.innerHeight * * ...

  6. 原生js获取宽高与jquery获取宽高的方法的关系

    说明:1.因为获取高度的情况跟获取宽度的情况一样,所以以下只说获取宽度的情况.  2.以下所说的所有方法与属性所返回的值都是不带单位的.  3.为了方便说明,以下情况采用缩写表示:  obj -> ...

  7. JS获取元素的宽高以及offsetTop,offsetLeft等的属性值

    基本介绍 $(obj).width()与$(obj).height() $(obj).width()与$(obj).height() :jquery方式获取元素的宽高,不包括滚动条与工具条 $(obj ...

  8. 写个js动态调整图片宽高 (原创)

    <body style="TEXT-ALIGN: center;"> <div id="testID" style="backgro ...

  9. JS基础篇--JS获取元素的宽高以及offsetTop,offsetLeft等的属性值

    $(obj).width()与$(obj).height() $(obj).width()与$(obj).height() :jquery方式获取元素的宽高,不包括滚动条与工具条 $(obj).wid ...

随机推荐

  1. JQuery根据关键字检索html元素并筛选显示

    背景:标题比较唬人,实际上就是在文本框中输入关键字,通过关键字检索html元素,筛选后显示在界面上. Html元素如下: <div> <input type="text&q ...

  2. java算法面试题:从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序 ;读取docx 读取doc 使用poi 相关jar包提集提供下载

    从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序 1,张三,28 2,李四,35 3,张三,28 4,王五,35 5,张三,28 6,李四,35 7,赵六,28 ...

  3. NodeJS--exports和module.exports

    继续迁移印象笔记中记录相关笔记,其实工作中遇到的很多问题当时解决了,后期就忘记了,多记录还是很有用的,好记性不如烂笔头嘛,以后要养成好习惯. NodeJS中 require 用来加载代码,而 expo ...

  4. forEach 以及 IE兼容

      语法 array.forEach(function(currentValue, index, arr), thisValue) 参数 参数 描述 function(currentValue, in ...

  5. Linux系统kernel参数优化

    目录 iptables相关 单进程最大打开文件数限制 内核TCP参数方面 内核其他TCP参数说明 众所周知在默认参数情况下Linux对高并发支持并不好,主要受限于单进程最大打开文件数限制.内核TCP参 ...

  6. windows 时间同步至最新时间方法 | windows 时间同步服务器

    国内 windows 系统的电脑有时候不能自动同步互联网当前时间,这就需要改一下 windows 的时间同步服务器 版权声明:本文为博主原创文章,未经博主允许不得转载. 原文地址:https://ww ...

  7. Cluster - 基本概念

    1.1 什么是集群 简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源.这些单个的计算机系统就是集群的节点(node).一个理想的集群是,用户从来不会意识到集群系统 ...

  8. python3.7 random模块

    #!/usr/bin/env python __author__ = "lrtao2010" #python3.7 random模块 import random #随机模块 # r ...

  9. Linux常见的系統进程

    前言 在日常运维工作中,经常会看到一些奇怪的系统进程占用资源比较高.而且总是会听到业务线同学询问“xxx这个是啥进程啊?咋开启了这么多?” 而这些系统级的内核进程都是会用中括号括起来的,它们会执行一些 ...

  10. stm32的systick原理与应用

    /* SysTick滴答定时器 一.功能 SysTick定时器是一个简单的定时器,CM3\CM4内核芯片都具备此定时器.SysTick定时器常用来做延时,采用实时系统时则用来做系统时钟.无论用作延时还 ...