IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 09 BOM编程 -> 正文阅读

[JavaScript知识库]09 BOM编程


内容:
1、bom
2、访问页面元素
3、操作页面元
能力目标:
1、能够掌握bom结构
2、能够使用javascript实现页面跳转
3、能够使用javascript控制元素隐藏与显示

1、bom

BOM(Browser Object Model)是指浏览器对象模型,是用于描述这种对象与对象之间层次关系的模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。BOM由多个对象组成,其中代表浏览器窗口的window对象是BOM的顶层对象,window对象包含了三个子对象,分别是history对象、document对象、location对象。document对象包含了link对象、form对象、anchor对象。form对象包含了button对象、checkbox对象、text对象、textarea对象、radio对象、select对象等表单元素对象。BOM模型如图1所示。

window
history
document
location
Link
form
anchor
button
checkbox
text
...
textarea
radio
select

BOM模型

2、页面跳转

location对象表示当前浏览器窗口中显示文档的Web地址,包含文档的完整URL以及URL的各个部分。location是JavaScript实现页面跳转的对象。

任务1:幸运跳转
制作一个幸运测试的网页,使用随机数产生3个等级,不同等级跳转到不同的网页。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>页面跳转</title>
</head>
<script type="text/javascript">
<!--confirm()函数弹出有确定和取消按钮的对话框,点击确定返回true,点击取消返回false-->
    if(window.confirm("马上开始测试,准备好了吗?")){
<!--    Math.round()函数用于产生0.0~1.0之间的一个随机数。-->
        var luckNum = Math.round(Math.random()*3);
<!--        根据不同的随机数,地址跳转向不同的页面-->
            if(luckNum==1){
               location.href = "http://www.baidu.com";
            }else if(luckNum==2){
               location.href = "https://leetcode-cn.com/";
            }else if(luckNum==3){
<!--            reload()重新加载当前页面-->
               location.reload();
            }else{
               document.write("页面没出来,重新测试");
            }
    }else{
       document.write("刷新页面,可以重新开始测试信用数字");
    }
</script>
<body>
</body>
</html>

解释:

  1. window对象的confirm()函数用于弹出确认对话框,确认对话框中包含提示的文本和确
    认和取消按钮。当点击确认按钮时,返回true值,当点击取消按钮时返回false值。
  2. window 对象的location 属性用于设置页面跳转的URL

3、document对象

3.1.访问页面元素

JavaScript可以操作HTML元素,若要操作HTML元素首先要获取到被操作的元素。JavaScript的document对象提供了3种获取HTML元素的方法。

数据类型具体描述
getElementByld(selector)参数 selectorID选择器,返回对拥有指定id的第一个对象的引用
getElementsByName(selector)参数selector是标签选择器,返回带有指定名称的对象的集合
getElementsByTagName(selector)参数 selector是标签选择器,返回带有指定标签名的对象的集合表1获取元素的方法
任务2:获取页面元素
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>使用document方法获取页面元素</title>
    <style type="text/css">
        body{
            font-size:14px;
            line-height:30px;
        }
        input{
            margin:1px;
            width:90px;
            font-size:12px;
            padding:0;
        }
        #node{
            width:100px;
            font-size:24px;
            font-weight:bold;
            float:left;
        }
    </style>
    <script type="text/javascript">
        function changeLink(){
            document.getElementById("node").innerHTML="宋江";
        }
        function all_input(){
            var alnput = document.getElementsByTagName("input");
            var sStr = "";
            for(var i=0;i<alnput.length;i++){
                sStr += alnput[i].value+"<br/>";
            }
            document.getElementById("s").innerHTML=sStr;
        }
        function s_input(){
            var alnput = document.getElementsByName("mingzhu");
            var sStr = "";
            for(var i=0;i<alnput.length;i++){
                if(alnput[i].type=="text"){
                    sStr += alnput[i].value+"<br/>";
                }
            }
            document.getElementById("s").innerHTML=sStr;
        }
    </script>
</head>

<body>
<div id="node">武松</div>
<input name="b1" type="button" value="改变层内容" onclick="changeLink();">
<br/>
<input name="mingzhu" type="text" value="三国"/>
<input name="mingzhu" type="text" value="水浒传"/>
<input name="mingzhu" type="text" value="西游记"/>
<br/>
<input name="b2" type="button" value="显示所有input内容" onclick="all_input()"/>
<input name="b3" type="button" value="显示文本框的内容" onclick="s_input()"/>
<p id="s"></p>
</body>
</html>

解释:

  1. document对象的getElementByld()可根据元素的id获取元素,返回单个对象。
  2. document对象的 getElementsByTagName()可根据标签名称获取一组元素,返回数组。
  3. document对象的getElementsByName()可根据元素的name获取一组元素,返回数组。运行结里

3.2 元素的隐藏与显示

JavaScript可以通过控制HTML元素的CSS的display属性来实现隐藏与显示,以实现诸如菜单,选项卡的效果。displsy的属性的值如表所示:

描述
none表示此元素不会被显示
block表示此元素将显示为块级元素,此元素前后会带有换行符。
inline表示此元素将显示为内联元素,此元素前后不会带有换行符。
inline-block块行块
任务3:制作树形菜单
在这里插入代码片
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-26 10:04:39  更:2021-09-26 10:04:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 21:38:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码