JavaScript&BOM(三)

目录

一,BOM的概念

bom是什么?

bom的构成

二,基础知识:

1.如何在js中获取HTML元素

2.HTML元素上的常用的事件:

3.HTML元素上的常用属性

三,实例:

1.使用js制作图片的自动切换效果(每隔多长时间就会换一张图片)

2.树状菜单 

3.实现多选


 

 

 

一,BOM的概念

  • bom是什么?

即浏览器对象模型,用来获取或设置浏览器的属性、行为,而window是浏览器的顶级对象。

例如:

新建窗口、获取屏幕分辨率、浏览器版号登。

  • bom的构成

而window是浏览器的顶级对象,它具有双重角色

以下是bom对象模型图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiA6bqfang=,size_20,color_FFFFFF,t_70,g_se,x_16


 

二,基础知识:

注意:咱们编写JavaScript的时候,代码报错了不会显示出来,这个时候我们需要打开网页,然后右键检查打开控制台,里面就有报错的代码

1.如何在js中获取HTML元素

document.getElementById();-->>通过标签中的ID属性

document.getElementByTagName();-->>通过标签名

document.getElementByClassName();-->>通过标签中的class属性

document.getElementByName();-->>通过标签中的name属性

注意:以上获取HTML元素的方法都是返回集合的形式

2.HTML元素上的常用的事件:

onclick点击事件
ondblclick双击事件
onfocus获得焦点事件
onblur失去焦点事件
onmouseover鼠标移入事件
onmouseout鼠标移出事件

3.HTML元素上的常用属性

textContent标签的文本内容(定义的不会生效)
InnerHTML标签中的HTML内容(标签会生效)
value元素的值
checked是否被选中(一般在单选框和复选框中适用)
style标签中的style属性(用于设置样式)

三,实例:

1.使用js制作图片的自动切换效果(每隔多长时间就会换一张图片)

代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>图片自动切换的效果</title>
		</head>
		<body>
		<img src="imgs/1.jpeg" id="a">//编辑img
		//实现轮换的图片的路径为1.pgeg、2.pgeg、3.pgeg、4.pgeg、5.pgeg
		<script>
		    var b=1;
		    //箭头函数就是正常函数的简写
		    setInterval(()=>{//循环计时器
		        //操作元素(html)的css
		        a.src='url("imgs/'+b+'.jpeg")'//设置块状标签的图片样式
		        b++;//每次执行一次增加一次
				if(b=5){//当次数为5时将次数设置为1,从而实现轮换的效果
				b=1
				}
		    },1000)//将事件的延迟设置为1s
		</script>
	</body>
</html>

2.树状菜单 

代码如下:

//实现菜单
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>树状菜单/title>
    <style>
        div{//定义块状标签
            width: 100px;
            height: 100px;
            background: red;
        }
    </style>
</head>
<body>
<div id="d1"></div>
<button onclick="fn1()">点我隐藏</button>
<button onclick="fn2()">点我隐藏</button>
<hr>
<ul>
    <li><i onclick="fn3('u1')">家电</i>
        <ul id="u1">
            <li>书记</li>
            <li>主席</li>
            <li>村长</li>
        </ul>
    </li>
    <li><span onclick="fn3('u2')">Apple</span>
        <ul id="u2">
            <li>视界</li>
            <li>时间</li>
            <li>good</li>
        </ul>
    </li>
</ul>
<hr>
   //创建表格
<table border>//border边框
    <tr><td><input type="checkbox" onclick="fn4(this.checked)"></td></tr>
    <tr><td><input type="checkbox"></td></tr>
    <tr><td><input type="checkbox"></td></tr>
    <tr><td><input type="checkbox"></td></tr>
</table>
<script>
    

    //实现全选的函数
    function fn4(status) {
        //拿到所有的多选框
        //设置选中为第一个多选课的装填 status
        var is=document.getElementsByTagName("input")//拿到标签元素
        for(let i of is){
       //注意循环的时候采用let来实现变量,如果使用的var可能产生效果的只有最后一个
            //i就是每一个多选框
            i.checked=status
        }
    }

    //拿到元素的ID更换元素的隐藏形式(注意! display隐藏形只有显示(block)与不显示两种(none))
    function fn3(id) {
        //根据id拿出对应的元素
        var li=document.getElementById(id)
        //将对应元素设置为不显示
        if(li.style.display==="none"){//如果是隐藏的就将隐藏的形式设置为不隐藏
            li.style.display="block"
        }else{//如果不是隐藏的就将隐藏形式设置为隐藏
            li.style.display="none"
        }
    }
    
    
    function fn1() {
        // document.getElementById()
        // display只有两种状态
        // 实现 隐藏与显示的两种方式
        if(d1.style.display==="none"){
            d1.style.display="block"//如果是隐藏的就将隐藏形式设置为不隐藏
        }else{//如果不是隐藏的就将隐藏形式设置为隐藏
            d1.style.display="none"
        }
    }
    //根据透明度实现元素隐藏
    function fn2() {
        // document.getElementById()
        // display只有两种状态
        //如果显示 那么隐藏
        if(d1.style.opacity==0){
            d1.style.opacity=1
        }else{
            d1.style.opacity=0
        }
    }

</script>
</body>
</html>

3.实现多选

ps:全选效果的思路:先获取“全选”旁边的复选框,再获取其他(除了反选框)所有的复选框,然后再把“全选”旁边的复选框的checked属性值赋值给其他的(除了反选)所有的复选框的checked属性。代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			function mya(){
				//获取全选复选框
				var sa=document.getElementById("call");
				//获取其他复选框
				var sum=document.getElementsByName("ca");
				for (var i = 0; i < sum.length; i++) {//遍历其他(除了反选)的复选框
				//将全部复选框的状态赋值给其他(除了反选框)的复选框
					sum[i].checked=sa.checked;
				}
			}
		</script>
		<!-- ps:在这里大家要注意,设置复选框CheckBox的是否被选中是设置复选框CheckBox的checked属性值 -->
		<!-- 如果是true就代表选中,反之就是false -->
		<table border="1" cellspacing="" cellpadding="" align="center">
			<tr align="center"><!-- 行 -->
				<td>全选<input type="checkbox" id="call" onclick="mya()"/>
				反选<input type="checkbox" id="fx"/></td>
				<td>学号</td>
				<td>姓名</td>
				<td>性别</td>
				<td>年龄</td>
		   </tr>
		   <tr align="center"><!-- 行 -->
		   		<td><input type="checkbox" name="ca"></td>
		   		<td>1</td>
		   		<td>张三</td>
		   	    <td>男</td>
		   		<td>22</td>
		   </tr>
		   <tr align="center"><!-- 行 -->
		   		<td><input type="checkbox" name="ca"></td>
		   		<td>2</td>
		   		<td>李四</td>
		   	    <td>女</td>
		   		<td>24</td>
		   </tr>
		   <tr align="center"><!-- 行 -->
		   		<td><input type="checkbox" name="ca"></td>
		   		<td>3</td>
		   		<td>王麻子</td>
		   	    <td>男</td>
		   		<td>24</td>
		   </tr>
		   <tr align="center"><!-- 行 -->
		   		<td><input type="checkbox" name="ca"></td>
		   		<td>4</td>
		   		<td>王五</td>
		   	    <td>男</td>
		   		<td>25</td>
		   </tr>
		   <tr align="center"><!-- 行 -->
		   		<td><input type="checkbox" name="ca"></td>
		   		<td>5</td>
		   		<td>小六</td>
		   	    <td>男</td>
		   		<td>26</td>
		   </tr>
		</table>
	</body>
</html>

效果图如下:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiA6bqfang=,size_20,color_FFFFFF,t_70,g_se,x_16 

在下期会给大家带反选的功能!

今天的分享到此为止啦,后续持续更新哈!

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一麟yl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值