JavaScript Dom 事件 Bom 定时器方法



  Dom

介绍
控制Html文档的内容

概念:将标记语言文档的各个组成部分,封装为对象,可以使用这些对象,对标记语言文档进行CRUD的动态对象

核心DOM 针对任何结构化文档的标准模型
Attribute:属性对象
Text:文本对象
Comment:注释对象

Documnet:文档对象
Element:元素对象
获取Element对象
getElementsByTagName():根据元素名称获取元素对象们,返回值是一个数组

 div class="div2">1</div>
<div class="div1">1</div>
<script>
var sc=document.getElementsByTagName("div");
alert(sc.length)//获取长度,有多少个
</script>

getElementsByClassName():根据class属性获取元素对象们,返回值是一个数组

 <div class="div1">1</div>
<div class="div1">1</div>
<script>
	var sc=document.getElementsByClassName("div1");
alert(sc.length)
</script>

getElementsByname():根据name属性获取元素对象,返回值是一个数组

<body>
<input type="button" name="name">
<script>
var sc=document.getElementsByName("name");
alert(sc.length)	

getElementsById():根据id属性值获取元素对象,id属性值一般唯一

创建其他DOM对象
createComment():创建注释节点
createElement():创建元素节点,是在对象中创建一个对象
createTextNode():创建文本节点
createAttribute(name):创建拥有指定名称属性节点,并返回新的Attr对象

HTML Dom

标签体的设置和获取:innerHTML
innerHTML:获取到标签体内容

<div id ="div1"></div>
<script>
var div=document.getElementById("div1")
div.innerHTML;
</script>

使用HTML元素对象属性
控制元素样式
使用元素的style属性来设置

	<input type="button" id="x1">
<script>
var input = document.getElementById("x1");
input.onclick=function (){
    input.style.width="200px";
}
</script>

提前定义类选择器的样式,通过元素的classname属性来设置class属性值
 <style>
    .d1{
        width: 100px;
        height: 100px;
        border: 1px  solid red;
    }
</style>
</head>
<body>
<input type="button" id="x1">
<script>
var input = document.getElementById("x1");
input.onclick=function (){
   input.className="d1";
}

Node:节点对象,其他5个的父对象

Node对象是整个DOM的主要的数据类型
特点:所有dom对象都可以被认为是一个节点
方法
CRUD dom树
appendChild():向节点的子节点列表的结尾添加新的子节点

  <div id="h1">1
   <div id="h2">2
 <div id="h3"></div>
   </div>
   </div>
<a href="javascript:void(0);" id="name">属性</a>
<script>
    let elm = document.getElementById("name");
elm.onclick=function (){
    let h1 = document.getElementById("h1");
    //创建div节点
    let div = document.createElement("div");
    div.setAttribute("id","h3");
    h1.appendChild(h3);
}
</script>

removeChild():删除(并返回)当前节点的指定子节点

   <div id="h1">1
   <div id="h2">2</div>
 </div>
<a href="javascript:void(0);" id="name">属性</a>
<script>
var el = document.getElementById("name");
  el.onclick=function (){
  var h1 = document.getElementById("h1");
  var h2 = document.getElementById("h2");
	 h1.removeChild(h2);
    }

replaveChild():用新节点替换一个子节点

属性:
parentNode:返回节点的父对象

Element

Element 对象表示 HTML 元素 Element 对象可以拥有类型为元素节点文本节点、注释节点的子节点。

创建:通过documetn获取和创建
方法:
removeAttribute():删除属性

点击a标签删除属性

<a href="" id="name">属性</a>

<script>
    //点击a标签删除href属性
   var elementById = document.getElementById("name");
elementById.onclick=function (){
   var elme = document.getElementsByTagName("a")[0];
   elme.removeAttribute("href");
       }
</script>

setAttriibutre():设置属性 设置属性案例
<input  type="button" value="效果">
<input id="name" type="button" value="设置效果" >
<script>
   //通过document调用input的id值来设置input变改为文本框
   var elementById = document.getElementById("name");
  elementById.onclick=function (){
     var elme = document.getElementsByTagName("input")[0];
 	  elme.setAttribute("type","text");//设置input中的属性来更改input的属性
 	      }
</script>



修改标签体内容 属性 innerHTML

	<P id="text">小样</P>
<script>
		var emo=document.getElementById("text")
		alert("改变");
		emo.innerHTML="小菜";
</script>

效果
获取页面标签(元素)

代码:
document.getElementById(“id值”)通过Html中的id获取元素对象

document.getElementById(“id值”)
通过所设置的id值的HTML对象可以来修改原对象的属性值
代码解释:

<body>
	<img id="img" src="../img/mmexport1646140315201.jpg"><!-- 原图片-->
<script>
	 var id1= document.getElementById("img");
	id1.src="../img/QQ截图20220302181120.png";//更换了图片
</script>
</body>




  事件

功能
什么被什么执行了操作,触发的什么代码

绑定事务
直接在HTML标签上,指定事件的属性操作,属性值就是js代码

事件:onclick 单击事件

通过js获取元素对象,指定事件属性,设置一个函数

案例 头像点击更换

<script>
	    var fa=false;
function fun(){
    var src1=document.getElementById("x");
    if (fa){
        src1.src="../img/x.png";
        fa=false;
    }else {
        src1.src="../img/y.png";
        fa=true;
    }
}
</script>
</head>
<body>
	<img src="../img/x.png" id="x" onclick="fun()">
</body>
<br>








  BOM

基本概念

Brwser Object Model 浏览器对象模型

对象

Window:窗口对象

属性

获取其他BOM对象
history:对History对象的只读引用 获取到[object History]
location:对窗口或框架的Location对象. 获取到当前页面的地址信息 http://localhost:63342/js/cn/js/
Navigator:对Navigator对象的只读引用 获取到导航器的信息 function Navigator() { [native code] }
Screen:对Screen对象的只读引用 获取到屏幕的信息 function Screen() { [native code] }

获取DOM对象
document:获取文档对象

使用格式
window.方法名(); 对象不需要创建直接使用
方法名(); window可以省用

方法

弹出框:

alert():显示带有一段消息和一个确定按钮的警告框

confirm():显示带有一段消息以及确认按钮和取消按钮的对话框
确定返回true,取消返回 false
	var sc= confirm("确定退出或取消");
if (sc){
    document.write("进入")
}else {
    document.write("退出")
}

propet():显示提示用户输入的对话框
		用户输入什么返回什么值

关闭和开启方法
close():关闭浏览器
理解:
想关闭哪个调用哪个
open():打开一个浏览器窗口

<script>
 var num=document.getElementById("x");
		 var se;
 num.onclick=function (){
 //打开窗口
    se= open("https://www.baidu.com");
 }
	 var nu1=document.getElementById("y");
nu1.onclick=function (){
	    //关闭窗口
  	   se.close();
 }	


定时器方法

 setTimeout():指定的毫秒数后调用函数,或计算表达式 时间之后就执行某些代码,只执行一次 一次性的定时器 拥有一个返回值 唯一的标识,用于取消定时器

参数: :js代码或对象 毫秒值
clearTimeout(): 取消由setTimeout() 方法设置的 timeout 一般时间卡在一秒钟

setInterval():
按照指定的周期(以毫秒计) 来调用函数或计算表达式 循环定时器 拥有一个返回值
参数:js代码或对象 毫秒值

注意:
直接在定义是无法让代码执行循环的

  setInterval(alert('xxxx'),2000);

通过对象定义的名称来调用实现循环效果

function  fun(){
    alert('xxx')
}
   setInterval(fun,2000);

clearInterval():
取消由 setInterval()设置的timeout. 唯一的标识,用于取消定时器

   var Interval = setIntervalt(fun,2000);
 	 clearInterval(timeout); //取消谁就调用谁

案例实现:图片切换

     <script>
    var c=true;
    var p=true;
    //定义函数
    function  fun(){
        //定义循环判断
        while (p){
            var b=document.getElementById('x');
            if (c){
                b.src="../img/x.png"
                c=false;
                p++;
            }else {
                b.src="../img/ban_2.png"
                c=true;
                p++;
            }
            if (p>3){
                break;
            }
        }
    }
    setInterval(fun,200);
</script>
</head>
<body>
<img src="../img/x.png" id="x" >
</body>

Navigator:浏览器对象


creen:显示器屏幕对象


History:历史记录对象

获取History对象
window.history:[object History]
history

方法
back():加载history列表中的前一个URL(前进)
forward():加载history列表中的下一个URL(后退一步)
go():加载history列表中的某个具体页面 (包括前进或者后退)
go(参数):
正数:前进几个历史记录
负数:后退几个历史记录

属性
length 返回当前窗口历史列表中的URL数量(历史记录中当前窗口使用的个数)

Location:地址栏对象

Location:对象包含有关URL的信息

地址栏对象解释: 当前浏览器窗口地址栏的信息

获取Location
可以通过windos来获取Location
windos.Location

可以直接使用
Location
方法
reload:刷新
通过Location.reload调用方法
href:设置或返回完整的URL

返回完整的URL

 let href = location.href;
alert(href);

通过设置的URL,前往URL地址

<input type="button" value="哔哩哔哩" id="x">
<script>
   var c=document.getElementById('x');
   c.onclick=function (){
   location.href="https://www.bilibili.com";
  }
</script>

案例:搭配innerHTML来使用制定跳转页面

<span id="red" >5</span>秒后跳转....
</p>
<script>
//初始化值为5;
var sec=5;
function fun(){
    //进入函数方法每次减一
    sec--;
    //调用id
    let elementById = document.getElementById("red");
    //修改HTML内容
    elementById.innerHTML=sec+"";//调用sec 修改为字符串形式
    if (sec<1){
        document.getElementById("red");
        location.href="http://www.baidu.com";
    }
}
//定义定时器
setInterval(fun, 1000);


a标签使用js代码

案例:

<a href="javascript:void(0)">使用运算符阻止返回值</a>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值