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 & ...
随机推荐
- Vuforia笔记1(Vuforia8.0.10与Unity2018.3.6f1)
一丶ARCamera(AR的灵魂) 1.World Center Mode SPECIFIC_TARGET:制定一个物体作为世界中心坐标 FIRST_TARGET:摄像机所照射到的第一个需要识别的目标 ...
- No manual entry for printf in section 3
在引入标准库头文件的时候,很多时候要先查询一下该函数所属的库,以及基本用法,在linux系统下,可以使用 man 1-9 函数名称 但是 问题来了,No manual entry for printf ...
- IDEA配置Hystrix过程中报错: java.lang.IllegalStateException: No instances available for user-service
最近在练习微服务架构中, 使用IDEA配置完Hystrix, 添加熔断方法后, 在浏览器中访问未启动的( 含有熔断方法注解 )的路径时, 报出了 : 500: No instances availab ...
- useJDBC4ColumnNameAndLabelSemantics设置后无效,怎么办?
连接的是DB2数据库, 在查询语句中有SELECT COLUMNNAME AS ALIASNAME FROM TABLE这样的结构时, 会报如下错误: Caused by: com.ibm.db2.j ...
- shell窗体实现代码雨(解闷用)
命令过程 277 2019-11-07 17:14:39 wget https://sourceforge.net/projects/cmatrix/files/cmatrix/1.2a/cmatri ...
- openssl-1.17.0安装(centos7)
##编译环境前提,安装了gcc 和gcc-c++ ## 下载源码包prce-8.43.tar.gz tar -zxvf pcre-8.43.tar.gz ## 下载源码包openssl-1.02.ta ...
- 【编程开发】opencv实现对Mat中某一列或某一行的元素进行normalization
[编程开发]opencv实现对Mat中某一列或某一行的元素进行normalization 标签: [编程开发] [机器学习] 声明:引用请注明出处http://blog.csdn.net/lg1259 ...
- 洛谷 题解 P1220 【关路灯 】
搜索 传参 inline void DFS(int now,int l,int r,int cnt,int sum,int k) /* now为当前点 l为左端点 r为右端点 cnt为当前耗电量 su ...
- 使用nginx构建限频、限速、限并发的应用保护层
使用nginx构建限频.限速.限并发的应用保护层 nginx本身提供了基础的限频.限速.限并发连接等能力. 限频 基于uri等限制某一个客户端,某类客户端持续时间段内建立连接的次数. 限速 限制客户端 ...
- hisiv100交叉编译工具链安装
hisi交叉编译工具链安装 一. 摘要: 交叉编译简单的说,就是A机器上编译生成,运行在B机器上.那么在A机器上的编译工具安装,就是本文所要描述的内容. 工欲善其事必先利其器,所以交叉 ...