javascript 常用方法

一、Js/Jquery获取网页屏幕可见区域高度

1.1、获取浏览器窗口的可视区域高度和宽度,滚动条高度有需要的朋友可参考一下。

document.body.clientWidth ==> BODY对象宽度
document.body.clientHeight ==> BODY对象高度
document.documentElement.clientWidth ==> 可见区域宽度
document.documentElement.clientHeight ==> 可见区域高度
   
document.body.clientWidth ==> 网页可见区域宽 
document.body.clientHeight ==> 网页可见区域高
document.body.offsetWidth ==> 网页可见区域宽(包括边线的宽)
document.body.offsetHeight ==> 网页可见区域高(包括边线的高)
document.body.scrollWidth ==> 网页正文全文宽
document.body.scrollHeight ==> 网页正文全文高
document.body.scrollTop ==> 网页被卷去的高
document.body.scrollLeft ==> 网页被卷去的左
window.screenTop ==> 网页正文部分上
window.screenLeft ==> 网页正文部分左
window.screen.height ==> 屏幕分辨率的高
window.screen.width ==> 屏幕可用工作区高度
window.screen.availHeight ==> 屏幕可用工作区高度
window.screen.availWidth ==> 屏幕可用工作区宽度
window.innerHeight ==> 获取浏览器显示区域高度
window.innerWidth ==> 获取浏览器显示区域宽度

 1.2、部分jquery函数获取方法

// 部分jQuery函数  
$(window).height()                //浏览器时下窗口可视区域高度   
$(document).height()            //浏览器时下窗口文档的高度   
$(document.body).height()      //浏览器时下窗口文档body的高度   
$(document.body).outerHeight(true) //浏览器时下窗口文档body的总高度 包括border padding margin   
$(window).width()     //浏览器时下窗口可视区域宽度   
$(document).width()   //浏览器时下窗口文档对于象宽度   
$(document.body).width()      //浏览器时下窗口文档body的高度   
$(document.body).outerWidth(true) //浏览器时下窗口文档body的总宽度 包括border padding  
HTML精确定位:  scrollLeft,scrollWidth,clientWidth,offsetWidth   
scrollHeight: 获取对象的滚动高度。   
scrollLeft: 设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离   
scrollTop:  设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离   
scrollWidth: 获取对象的滚动宽度   
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度   
offsetLeft: 获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置   
offsetTop:  获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置   
event.clientX 相对文档的水平座标   
event.clientY 相对文档的垂直座标   
event.offsetX 相对容器的水平坐标   
event.offsetY 相对容器的垂直坐标   
document.documentElement.scrollTop 垂直方向滚动的值   
event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量 
alert($(document).scrollTop()); //获取滚动条到顶部的垂直高度
alert($(document).scrollLeft()); //获取滚动条到左边的垂直宽度

二、浏览器兼容的一些代码写法

一:网页可见区域宽高,不包括工具栏和滚动条(浏览器窗口可视区域大小)

1.对于IE9+、chrome、firefox、Opera、Safari:

window.innerHeight浏览器窗口的内部高度;
window.innerWidth浏览器窗口的内部宽度;

2.对于IE8.7.6.5:

document.documentElement.clientHeight:表示HTML文档所在窗口的当前高度;
document.documentElement.clientWidth:表示HTML文档所在窗口的当前宽度;
或者,因为document对象的body属性对应HTML文档的<body>标签,所以也可表示为:
document.body.clientHeight:表示HTML文档所在窗口的当前高度;
document.body.clientWidth:表示HTML文档所在窗口的当前宽度;

结论:
document.body.clientWidth/Height:的宽高偏小,高甚至默认200;
document.documentElement.clientWidth/Height 和 window.innerWidth/Height 的宽高始终相等。

所以在不同浏览器都实用的的Javascripit方案:
var w = document.documentElement.clientWidth || document.body.clientWidth;
var h = document.documentElement.clientHeight || document.body.clientHeight;
 

二:网页正文全文宽高

scrollWidth和scrollHeight获取网页内容高度和宽度

1.针对IE.Opera:scrollHeight是网页内容实际高度,可以小于clientHeight;
2.针对NS.firefox:scrollHeight是网页内容高度,不过最小值是clientHeight;也就是说网页内容实际高度小于clientHeight的时候,scrollHeight返回clientHeight;
3.浏览器兼容代码:
var w = document.documentElement.scrollWidth || document.body.scrollWidth;
var h = document.documentElement.scrollHeight || document.body.scrollHeight;
 

二:网页可见区域宽高,包括滚动条等边线(会随窗口的显示大小改变)

1.值:offsetWidth = scrollWidth + 左右滚动条 +左右边框;
   offsetHeight = scrollHeight + 上下滚动条 + 上下边框;

2.浏览器兼容代码:
var w = document.documentElement.offsetWidth || document.body.offsetWidth ;
var h = document.documentElement.offsetHeight || document.body.offsetHeight ;
 

三:网页卷去的距离与偏移量

1.scrollLeft:设置或获取位于给定对象左边界与窗口中目前可见内容的最左端之间的距离;
2.scrollTop:设置或获取位于给定对象最顶端与窗口中目前可见内容的最左端之间的距离;
3.offsetLeft:设置或获取位于给定对象相对于版面或由offsetParent属性指定的父坐标的计算左侧位置;
4.offsetTop:设置或获取位于给定对象相对于版面或由offsetParent属性指定的父坐标的计算顶端位置;

二、浏览器 window.navigator 对象 

浏览器信息:
window.navigator : 代表正在使用的浏览器的对象。
window.navigator.appCodeName: 返回浏览器的代码名。"Mozilla" 本来是 Netscape Navigator 的开发代码(语源是怪兽哥斯拉),考虑到为 Mozilla 制作的网页的兼容性,Internet Explorer 的返回值也是 "Mozilla"。
window.navigator.appName:返回代表浏览器名的字符串。
IE:Microsoft Internet Explorer
Chrome:Netscape
window.navigator.appVersion  : 返回代表浏览器版本号的字符串。Internet Explorer 为“<对应的Mozilla版本> (compatibpe; MSIE <IE的版本>; <操作系统名称>)”的形式。
window.navigator.appMinorVersion: 返回浏览器的次版本号。该属性是一个只读的字符串。仅IE有效。
window.navigator.userAgent:  userAgent 返回代表浏览器名和版本号的字符串。
window.navigator.platform:返回浏览器平台的字符串("Win32", "Win16", "WinCE", "Mac68k", "MacPPC", "HP-UX", "SunOS" 等)。
window.navigator.cpuClass:返回CPU的信息("x86", "68K", "Alpha", "PPC" 等)。仅IE有效。
window.navigator.browserLanguage、window.navigator.systemLanguage、window.navigator.userLanguage

以上三个语言仅IE有效。
language、browserLanguage 返回浏览器的语言种类,systemLanguage 返回系统的语言种类,userLanguage 返回用户环境的语言种类。

浏览器状态:
window.navigator.cookieEnabled:返回 cookie 是否可用的真伪值。
window.navigator.onLine:返回是否能连上网络的真伪值。
window.navigator.javaEnabled():返回 Java 是否可用的真伪值。
window.navigator.userProfile:

2.1、获取浏览器URL

获取到当前浏览的url地址方法:
window.location.href 
window.document.URL 

获取URL中的内容信息:
url = 'http://www.baidu.com?id=123456&word=abcd#123'
window.location.hostname // 获取到域名 www.baidu.com
window.location.hash // 获取哈希值 “#” 号后面的值 ?id=123456&word=abcd
window.location.search // 获取 “?” 号后面的值 #123

三、LocalStorage和sessionStorage的用法以及使用区别

3.1、localstorage

localStorage的生命周期是永久性的。即使关闭浏览器,数据也不会销毁,存储大小一般为5M,需要主动去销毁,使用方法如下:
var storage = null;
if(window.localStorage){           //判断浏览器是否支持localStorage
  storage = window.localStorage;     
  storage.setItem("name", "Rick"); //存储/修改
  alert(storage.getItem("name")); //获取
  storage.removeItem("name");     //删除
  storage.clear();//清除所有数据
  storage.length();//查看多少条记录
}

3.2、sessionStorage

sessionStorage 的生命周期是在浏览器关闭前。在整个浏览器未关闭前,其数据一直都是存在的。

var storage = window.sessionStorage;  
storage.setItem('name', name); // 设置/修改
storage.getItem("name"); // 获取
storage.removeItem("name");  //删除 
storage.clear();//清除所有数据
storage.length();//查看多少条记
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值