Js操作DOM元素及获取浏览器高宽
在JavaScript中,经常会来获取Document文档元素,是 HTML 文档对象模型的英文缩写,Document Object Model for HTML,是基于浏览器编程,HTML DOM 定义了用于 HTML 的一系列标准的对象,以及访问和处理 HTML 文档的标准方法。
通过 DOM,可以访问所有的 HTML 元素,连同它们所包含的文本和属性。可以对其中的内容进行修改和删除,同时也可以创建新的元素。HTML DOM 独立于平台和编程语言。它可被任何编程语言诸如 Java、JavaScript 和 VBScript 使用。
childNodes 反回当前元素所有子元素的数组,firsChild返回当前元素的第一个下级子元素,lastChild反回当前元素的最后一个子元素,nextSibling 返回紧跟在当前元素后面的元素,nodeValue指定表元素,的读/写属性 parentNode指定表示元素的父节点 previousSibling返回紧邻当前元素之前的元素。
document.getElementById是获取有指定惟一ID属性值文档中的元素。document.getElementByTagName返回当前元素中有指定标记名的子元素的数组,hasChildNodes()返回一个布尔值,指示元素是否有子元素,document.getElementBycClassName是获取文档中的类名元素,document.getElementsByName(elementName) :通过name获取节点,从名字可以看出,这个方法返回的不是一个节点元素,而是具有同样名称的节点数组。然后,我们可以通过要获取节点的某个属性来循环判断是否为需要的节点。
想获取浏览器的宽度如下:
网页可见区域宽: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
下面用一个电子商务的网页来具体讲一下:
<html>
<head>
<title></title>
<style>
*{ margin:0; padding:0;}
a{ text-decoration:none; color:white;}
a:hover{color:red;}
ul,li,ol{list-style:none; font-size:13px; color:#fff;line-height:27px;}
img{border:none;}
img,input,select,textarae{vertical-align: middle}
body{ width:1350px; margin:0 auto; font-size:12px;}
ol li a{color:#fff;}
#header{width:1350px; height:37px; background:url(122.png) no-repeat; border-bottom:1px solid #c9c9c9; line-height:37px;}
#main{width:1350px; height:504px; background:#f8f8f8;}
#left{width:182px; height:500px; background:#3d4e64; border-radius:3px;float:left;}
#lunbo{width:1160px;
height:300px;
background:#f8f8f8;
border-bottom:2px solid #666666;
float:right;
margin:0 auto;
margin-top:10px;
position:relative;}
#lunbo img{width:1160px;
height:300px;
display:none;
position:absolute;
z-index:5;
}
ul{margin-left:400px;}
ul li{
list-style:none;
border:1px solid #000;
border-radius:50%;
width:18px;
height:18px;
text-align:center;
float:left;
margin-top:300px;
margin-left:10px;
z-index:15;
}
</style>
</head>
<body>
<div id="header"><a href="#"><h3> 全部商品分类</h3></a></div>
<div id="main">
<div id="left">
<ol style="margin-top:12px; margin-left:14px;">
<p><a href="#">Kindle电子阅读器 ></a></p>
<p><a href="#">Fire平板电脑 ></a></p>
<p><a href="#">Kindle电子阅读器 ></a></li>
<p><a href="#">Fire平板电脑 ></a></p>
<p><a href="#">Kindle电子阅读器 ></a></li>
<p><a href="#">Fire平板电脑 ></a></p>
<p><a href="#">Kindle电子阅读器 ></a></li>
<p><a href="#">Fire平板电脑 ></a></p>
<p><a href="#">Kindle电子阅读器 ></a></li>
<p><a href="#">Fire平板电脑 ></a></p>
<p><a href="#">Kindle电子阅读器 ></a></li>
<p><a href="#">Fire平板电脑 ></a></p>
<p><a href="#">Kindle电子阅读器 ></a></li>
<p><a href="#">Fire平板电脑 ></a></p>
<p><a href="#">Kindle电子阅读器 ></a></li>
<p><a href="#">Fire平板电脑 ></a></p>
<p><a href="#">Kindle电子阅读器 ></a></li>
<p><a href="#">Fire平板电脑 ></a></p>
</ol>
</div>
<div id="lunbo">
<img src="1.png">
<img src="2.png">
<img src="3.png">
<img src="4.png">
<img src="5.png">
<ul>
<li style="background:red"onmouseover="jin(0)"onmouseout="chu(0)">1</li>
<li onmouseover="jin(1)"onmouseout="chu(1)">2</li>
<li onmouseover="jin(2)"onmouseout="chu(2)">3</li>
<li onmouseover="jin(3)"onmouseout="chu(3)">4</li>
<li onmouseover="jin(4)"onmouseout="chu(4)">5</li>
</ul>
</div>
<div id="footer"><img src="121.gif"/></div>
</div>
</body>
<script>
p=document.getElementsByTagName("img");
l=document.getElementsByTagName("li");
m=0
onload=function(){
s=setInterval("kaishi()",850)
}
function kaishi(){
for(var i=0;i<5;i++){
p[i].style.display="none";
l[i].style.background="white"
}
m++;
if(m>=5){m=0;}
p[m].style.display="block";
l[m].style.background="red"
}
lunbo.onmouseover=function(){clearInterval(s);}
lunbo.onmouseout=function(){s=setInterval("kaishi()",850);}
function jin(hand){
for(var i=0;i<5;i++){
p[i].style.display="none";
l[i].style.background="white"
}
m++;
if(m>=5){m=0;}
p[hand].style.display="block";
l[hand].style.background="red"
}
function chu(hand){
m=hand;
}
</script>
</html>
Js操作DOM元素及获取浏览器高宽的更多相关文章
- JS操作DOM元素属性和方法
Dom元素基本操作方法API,先记录下,方便以后使用. W3C DOM和JavaScript很容易混淆不清.DOM是面向HTML和XML文档的API,为文档提供了结构化表示,并定义了如何通过脚本来访 ...
- js操作DOM元素
创建 document.createElement() 查找 document.getElementById() 返回对拥有指定 id 的第一个对象的引用. document.getElement ...
- 【面试必备】javascript操作DOM元素
前言 时间过的真快,不知不觉就到年底了.问问自己,这一年你对自己的工作满意吗? 评价标准是什么呢?当然是马云的那两条准则了:钱给到了吗?干的爽吗?如果答案都是no,那么,你准备好跳槽了吗? 为了应对年 ...
- Js怎么获取DOM及获取浏览器的宽高?
在JavaScript中,经常会需要获取document文档元素,是HTML文档对象模型的缩写,HTML DOM 定义了用于 HTML 的一系列标准的对象,以及访问和处理 HTML 文档的标准方法. ...
- JS/JQuery操作DOM元素笔记
原因 自己目前在搭建一个.NET Core的框架,正在构建权限这块的东西,今天设置权限界面,需要使用JavaScript操作DOM元素,记录一下. 页面大概是酱紫的(我使用的AdminLTE和LayU ...
- JS操作DOM对象——JS基础知识(四)
一.JavaScript的三个重要组成部分 (1)ECMAScript(欧洲计算机制造商协会) 制定JS的规范 (2)DOM(文档对象模型)重点学习对象 处理网页内容的方法和接口 (3)BOM(浏览器 ...
- 原生js操作DOM基础-笔记
原文参考http://mp.weixin.qq.com/s?__biz=MzU3MDA0NTMzMA==&mid=2247485490&idx=1&sn=15197b4b53e ...
- 【JavaScript实用技巧(二)】Js操作DOM(由问题引发的文章改版,新人大佬都可)
[JavaScript实用技巧(二)]Js操作DOM(由问题引发的文章改版,新人大佬都可!) 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人 ...
- 跨frame操作dom元素
今天,一群友问到跨frame操作dom元素的问题.于是写了个demo,在此发表在博客里面,供其他同道中人参考! 创建child.html内容如下: <!DOCTYPE HTML PUBLIC & ...
随机推荐
- ubuntu安装以及卸载软件
dpkg安装以及卸载软件 deb文件是linux发行版debian系统的安装包格式,还有像基于debian系统的发型版ubuntu等系统就是使用的deb格式安装包,我们可以使用dpkg命令进行安装管理 ...
- Linux 基本权限管理
1.linux权限表示: -rw-r--r-- (一共10位): 第一位:表示文件类型: 常用的三种文件类型:- 表示一般文件,d 表示目录,l 表示软链接文件: 后九位:每三位为一组: rwx r- ...
- 集群架构01.Nginx初步安装配置
1.切换163yum 源,环境介绍 [root@moban ~]# cat /etc/redhat-release CentOS release 6.5 (Final) mv CentOS-Base. ...
- eclipse运行mapreduce的wordcount
1,eclipse安装hadoop插件 插件下载地址:链接: https://pan.baidu.com/s/1U4_6kLFNiKeLsGfO7ahXew 提取码: as9e 下载hadoop-ec ...
- 最新 顺网科技java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.顺网科技得等10家互联网公司的校招Offer,因为某些自身原因最终选择了顺网科技.6.7月主要是做系统复习.项目复盘.Lee ...
- eNSP——配置通过FTP进行文件操作
原理: FTP (File Transfer Protocol,文件传输协议)是在TCP/IP网络和Internet.上最早使用的协议之-,在TCP/IP协议族中属于应用层协议,是文件传输的Inter ...
- EMR-LDAP配置
usersync是负责在配置policy的时候可选用户有ldap里的用户,admin是负责登录webui的 https://cwiki.apache.org/confluence/display/RA ...
- Mac查看端口号是否被占用及释放
1.查看使用端口进程 lsof -i: 端口号 2.释放进程 kill 你的PID 3.再次执行第一步,是否无进程占用 lsof -i: 端口号
- C++ 简单实现 依赖注入(IOC)
由于C++ 不支持“反射机制”, 在C++中需要实现依赖注入或控制反转需要增加辅助程序.例如在Windows 开发程序中根据类名动态创建对象,需要在类定义中增加宏.本文主要介绍C++ Ioc的一种实现 ...
- 【Python】**kwargs和takes 1 positional argument but 2 were given
Python的函数定义中可以在参数里添加**kwargs——简单来说目的是允许添加不定参数名称的参数,并作为字典传递参数.但前提是——你必须提供参数名. 例如下述情况: class C(): def ...