BOM,DOM

1.BOM

  1.window对象

    1.location

      1.location.href

      2.location.href='地址'   --->跳转

      3.location.reload()       --->重新加载

  2.计时器:

    1.一段时间后做什么事.

      1.setTimeout('JS语句',毫秒)

      2.clearTimeoutl()

    2.每隔一段时间做什么

      1.setInterval('JS语句',毫秒)

      2.clearInterval()

2.DOM

  1.查找标签

    1.直接查找

      1.document.getElementById()   -- 根据ID标签查找

      2.document.getElementByClassName() -- 根据class属性查找

      3.document.getElementByTagName()  -- 根据标签名获取标签集合

    .间接查找

      1.parentElement --- 父标签标签元素

      2.children  --- 所有的子标签

 

  2.文档的操作

    1.创建标签

      1.var s1Ele = document.createElement('option')

 

  3.文档内容

    1.innerText

    2.innerHTML --> 可以认识HTML标签

  4.获取用户输入标签的值 (input/select/textarea)

    1.value

  5.样式的操作

    1.classList

      1.add

      2.remove

      3.contains

      4.toggle

    2.直接操作style

      1.obj.style.backgroundColor = 'red'

  6.时间

    1.绑定方式

      1.直接在HTML中写属性

      2.使用JS绑定事件

    常用事件

    

onclick        当用户点击某个对象时调用的事件句柄。
ondblclick     当用户双击某个对象时调用的事件句柄。

onfocus        元素获得焦点。               // 练习:输入框
onblur         元素失去焦点。               应用场景:用于表单验证,用户离开某个输入框时,代表已经输入完了,我们可以对它进行验证.
onchange       域的内容被改变。             应用场景:通常用于表单元素,当元素内容被改变时触发.(select联动)

onkeydown      某个键盘按键被按下。          应用场景: 当用户在最后一个输入框按下回车按键时,表单提交.
onkeypress     某个键盘按键被按下并松开。
onkeyup        某个键盘按键被松开。
onload         一张页面或一幅图像完成加载。
onmousedown    鼠标按钮被按下。
onmousemove    鼠标被移动。
onmouseout     鼠标从某元素移开。
onmouseover    鼠标移到某元素之上。

onselect      在文本框中的文本被选中时发生。
onsubmit      确认按钮被点击,使用的对象是form。

  

计时器例子

  

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>计时器示例</title>
    <!--<script>-->
        <!--// var i1Ele = document.getElementById('i1')-->
        <!--// alert(i1Ele)-->
        <!--//当文档加载完之后才执行-->
        <!--var i1Ele = document.getElementById('d1');-->
        <!--alert(d1Ele.innerText)-->

    <!--</script>-->
</head>
<body>
<input type="text" id="i1">
<input type="button" id="start" value="开始">
<input type="button" id="stop" value="结束">
<div id="d1">傻逼</div>
    <script>
        // var i1Ele = document.getElementById('d1');
        // alert(d1Ele.innerText)
        //把当前事件塞到I1标签中
        function setTime(){
            //1找到标签
        var i1Ele = document.getElementById('i1')
        //2拿到当前时间
        var now = new Date()
        //3设置i1标签的value属性为now时间
        i1Ele.setAttribute('value',now.toLocaleString())
        }
        setTime();
        //定义一个存放计时器ID的全局变量
        var t;

        //点击开始按钮,让i1标签中的时间动起来
        //1.找到开始按钮,绑定点击事件
        var startBtn = document.getElementById('start');
        startBtn.onclick = function() {
            //要做的事
            if(t === undefined){
            //一秒钟执行一次设置value动作
            t = setInterval(setTime,1000);}
        }
        //点击结束按钮,终止设置时间的定时任务
        //找到结束按钮,绑定点击事件
        var stopBtn = document.getElementById('stop');
        stopBtn.onclick = function(){
            //清除上面的定时器
            clearInterval(t);
            t = undefined
        }
    </script>

</body>
</html>

  事件例子

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>两个select联动</title>
</head>
<body>
<select id="s1">
    <option value="">请选择省</option>
</select>
<select id="s2">

</select>
<script>
    var data = {
        '广东省': ['广东市', '深圳市', '惠州'], '北京': ['朝阳区', '海定区']
        , '山东': ['威海', '大连']
    }
    var s1Ele = document.getElementById('s1');
    //页面一刷新,把所有的省加载到第一个select标签内
    for (var i in data) {
        console.log(i);
        //创建一个option
        var op = document.createElement('option');
        // 设置文本
        op.innerText = i;
        // 把创建好的标签塞到第一个select标签内部
        s1Ele.appendChild(op);
        //给第一个select标签绑定一个值发生变化的事件
        var s2Ele = document.getElementById('s2');
        s1Ele.onchange = function () {
            //获取当前select选中的值
            var value = s1Ele.value;
            //1去data里找对应的地区信息
            var data2 = data[value];
            //2清空第二个select标签的内容
            s2Ele.innerText = '';
            //3把对应的地区信息追加到第二个select标签内
            for (var j = 0; j < data2.length; j++) {
                var op = document.createElement('option');
                //设置文本
                op.innerText = data2[j]
                //把创建好的标签塞到第二个select标签中
                s2Ele.appendChild(op);
            }
        }
    }
</script>
</body>
</html>

  

 

转载于:https://www.cnblogs.com/lijinming110/p/9811035.html

BOMDOM是两个不同的概念,它们分别代表浏览器对象模型和文档对象模型。BOM主要涉及浏览器窗口和浏览器的相关属性和方法,而DOM则涉及网页文档的结构和内容。 举个例子来对比BOMDOM,假设我们要获取浏览器窗口的尺寸信息。在BOM中,我们可以使用window对象来获取窗口的尺寸信息,比如使用window.innerHeight和window.innerWidth来获取窗口的内部高度和宽度。而在DOM中,我们可以通过操作文档对象来获取网页元素的尺寸信息,比如使用document.documentElement.clientHeight和document.documentElement.clientWidth来获取文档元素的可见高度和宽度。 下面是一个示例代码,展示了如何使用BOMDOM来获取窗口尺寸信息: ```javascript // 使用BOM获取窗口尺寸信息 console.log(window.innerHeight); // 获取窗口的内部高度 console.log(window.innerWidth); // 获取窗口的内部宽度 console.log(window.outerHeight); // 获取窗口的外部高度(包括浏览器工具栏等) console.log(window.outerWidth); // 获取窗口的外部宽度(包括浏览器工具栏等) // 使用DOM获取文档元素尺寸信息 console.log(document.documentElement.clientHeight); // 获取文档元素的可见高度 console.log(document.documentElement.clientWidth); // 获取文档元素的可见宽度 ``` 通过以上代码,我们可以看到使用BOM的window对象和DOM的document对象来获取窗口和文档的尺寸信息的区别。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值