BOM

BOM概念:

指浏览器对象模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。

BOM的顶级对象:window是浏览器的顶级对象,页面的所欲内容都属于window

一个按钮绑定多个事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<input type="button" value="显示效果" id="btn">
<script src="comen.js"></script>
<script>
    my$("btn").onclick=f1;
    my$("btn").onmouseover=f1;
    my$("btn").onmouseout=f1;
    function f1(e) {
        if (e.type=="click"){
            alert("今天天气真好");
        } else if (e.type=="mouseover") {
            my$("btn").style.background="#f00";
        }else if (e.type=="mouseout") {
            my$("btn").style.background="#0f0";
        }
    }
    console.log(f1);
</script>
</body>
</html>

键盘抬起事件和联想词

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #dv{
            width: 400px;
            height: 100px;
            margin-top: 100px;
        }
    </style>
</head>
<body>
<div id="dv">
    <input type="text" id="txt">
    <input type="button" value="搜索" id="btn">
</div>
<script src="comen.js"></script>
<script>
    var keywords=["今儿天气真好","小明是个坏孩子","张国荣还有一个名字叫哥哥","张阿姨今天剪了一个刘海","小花是一个好孩子","张阿姨喜欢存傻屌图"];
    //在定义一个新数组,用于存检索数据
    //var newArr=[];
    //获取文本框的值
    my$("txt").onkeyup=function () {
        if (my$("dv1")) {
            my$("dv").removeChild(my$("dv1"));
        }
        var text=my$("txt").value;
        var newArr=[];

        for (var i=0;i<keywords.length;i++) {
            //var index=0;
            if( keywords[i].indexOf(text)==0){
               // newArr[0]=keywords[i];
                //index++;
                newArr.push(keywords[i]);
            }
        }
       // console.log(newArr);

        if (newArr.length==0||this.value.length==0) {
            return;
        }
        var dvObj=document.createElement("div");
        my$("dv").appendChild(dvObj);
        dvObj.width="300";
        dvObj.height="200";
        dvObj.style.border="1px solid red";
        dvObj.id="dv1";

        for (var i=0;i<newArr.length;i++){
            var pObj=document.createElement("p");
            dvObj.appendChild(pObj);
            //setInnerText(pObj,newArr[i]);
           pObj.innerText=newArr[i];
           pObj.onmouseover=mouseoverHandle;
            pObj.onmouseout=mouseoutHandle;


        }
    }
function mouseover(e){

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

bom对象:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    //1.在页面中弹框,一般不用,调试的时候用
    alert("对话框");
    //2.确定框,确定和取消
    var flag=confirm("你是否确定注册?");
    console.log(flag);
//3.用户输入框,返回string
    var result=prompt("请输入你的名字");
    console.log(result);
</script>
</body>
</html>

加载事件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        window.onload=function () {
            document.getElementById("btn").onclick=function () {
                alert("123456")
            }
        }
        //onunload:关闭页面时触发
        //onbeforeonload页面关闭前触发,IE特有
    </script>
</head>
<body>
<input type="button" value="显示内容" id="btn">
<script src="comen.js"></script>
</body>
</html>

location对象:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    //获取地址栏后面的#及以后内容
    console.log(window.location.hash);
    //获取主机名及端口号
    console.log(window.location.host);
    //主机名
    console.log(window.location.hostname);
    //获取文件的相对路径
    console.log(window.location.pathname);
    //端口号
    console.log(window.location.port);
    //协议
    console.log(window.location.protocol);
    //搜索的内容
    console.log(window.location.search);
</script>
</body>
</html>

定时器:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<input type="button" value="取消定时" id="btn">
<script src="comen.js"></script>
<script>
    //定时器
    //setInterval(参数1,参数2);
    //参数1:要重复执行的事情,是一个函数
    //参数2:时间,单位是毫秒,每个这个时间执行
    //执行过程:页面加载完毕后,过一秒,执行一次函数
    //清除定时:clearInterval(定时器的Id);

    var timeId=window.setInterval(function () {
        alert("hello");
    },1000)
    my$("btn").onclick=function () {
        window.clearInterval(timeId);
    }

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

窗口抖动:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div img{
            width: 200px;
            height: 200px;
        }
        div{
            position: absolute;
        }
    </style>
</head>
<body>
<input type="button" value="摇一摇" id="btn1">
<input type="button" value="停止" id="btn2">
<div id="dv">
    <img src="1.gif" alt="">
    <img src="1.gif" alt="">
</div>
<script src="comen.js"></script>
<script>
    var timeId="";//全局变量
    //点击按钮,使图片摇摆---隔一段时间换一个位置
    my$("btn1").onclick=function() {
        timeId = setInterval(function () {
            var x = parseInt(Math.random() * 100);
            var y = parseInt(Math.random() * 100);
            my$("dv").style.left=x+"px";
            my$("dv").style.top=y+"px";
        }, 100);
    }
    my$("btn2").onclick=function () {
        clearInterval(timeId);
    }

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

小星星一闪一闪亮晶晶:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #dv{
            width: 400px;
            height: 500px;
            background-color: black;
            position: relative;
        }
    </style>
</head>
<body>
<button id="btn">亮起来</button>
<div id="dv">

</div>
</body>
<script src="comen.js"></script>
<script>
    my$("btn").onclick=function () {
        setInterval(function () {
            my$("dv").innerHTML="<span>★</span>"
            var x = parseInt(Math.random() * 400);
            var y = parseInt(Math.random() * 500);
            my$("dv").firstElementChild.style.color="yellow";
            my$("dv").firstElementChild.style.position="absolute";
            my$("dv").firstElementChild.style.left=x+"px";
            my$("dv").firstElementChild.style.top=y+"px";
        },1);
    }
</script>
</html>

协议禁用按钮:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<textarea name="" id="" cols="30" rows="10">呵呵哒哈哈哈呵呵哒哈哈哈呵呵哒哈哈哈</textarea>
<input type="button" value="请仔细阅读协议(5)" id="btn" disabled="disabled">
<script src="comen.js"></script>
<script>
    var time=5;
    setInterval(function () {
       my$("btn") .value="请仔细阅读协议("+--time+")";
        if(time<=0){
            my$("btn").disabled=false;
            my$("btn").value="同意";
        }
    },1000);

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

div透明化:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #dv{
            width: 200px;
            height: 200px;
            background-color: red;
        }
    </style>
</head>
<body>
<div id="dv"></div>
<button id="btn">透明化</button>
<script src="comen.js"></script>
<script>
    my$("btn").onclick=function () {
        var opacity=10;
      var timeId= setInterval(function () {
          opacity--;
            if (opacity==0){
                clearInterval(timeId)
            }
            my$("dv").style.opacity=opacity/10;
        },500);

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

设置div的宽:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #dv{
            width: 200px;
            height: 200px;
            background-color: red;
        }
    </style>
</head>
<body>
<div id="dv"></div>
<button id="btn">透明化</button>
<script src="comen.js"></script>
<script>
    my$("btn").onclick=function () {
        var opacity=10;
      var timeId= setInterval(function () {
          opacity--;
            if (opacity==0){
                clearInterval(timeId)
            }
            my$("dv").style.opacity=opacity/10;
        },500);

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

倒计时:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #dv{
            width: 200px;
            height: 200px;
            background-color: red;
        }
    </style>
</head>
<body>
<div id="dv"></div>
<button id="btn">透明化</button>
<script src="comen.js"></script>
<script>
    my$("btn").onclick=function () {
        var opacity=10;
      var timeId= setInterval(function () {
          opacity--;
            if (opacity==0){
                clearInterval(timeId)
            }
            my$("dv").style.opacity=opacity/10;
        },500);

    }
</script>
</body>
</html>0

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值