JavaScript BOM

BOM

1. BOM

BOM:浏览器对象模型,它提供了和浏览器相关的一些属性和操作方法

2. innerHeight和innerWidth

window:浏览器窗口对象

window . innerHeight:浏览器可视区域的高

window . innerWidth:浏览器可视区域的宽

//onresize事件 窗口尺寸发生改变时,要做些事情
window.onresize = function(){
  console.log(window.innerWidth,window.innerHeight;
}

3. scrollTop和scrollLeft

scrollTop:竖直方向上滚动条的滚动距离

scrollLeft:水平方向上滚动条的滚动距离

//TOP 回顶部按钮
window.onscroll = function(){
//console.log(document.documentElement.scrollTop);
//console.log(document.documentElement.scrollLeft);
    let st = document.documentElement.scrollTop;
    if(st >= window.innerHeight){
        btn.style.display = "block";
    }
    else{
        btn.style.display = "none";
    }
}
btn.onclick = function goTop(){
    window.scrollTo({
        top:0,behavior:"smooth",
    })
    //document.documentElement.scrollTop = 0;//改值
    //window.scrollTo(0,0);
}

4. onload

onload:等页面结构、资料(图片,引入的一些外部文件)加载完毕后才触发

window.onload = function(){
    console.log("onload");
}
console.log("直接");
setTimeout(function (){
    console.log("延时器");
},0)
//异步永远都是在最后执行

5. 弹窗

//提示框alert()
      //输入框 prompt() 用户输入的值用一个变量接收
       let res = prompt("输入内容");
       console.log(res);//点确定 得到输入的值  点取消 得到null

      //确认框 confirm() //根据用户的选择会返回一个布尔值
        btn.onclick = function(){
        let flag = confirm("您确认要删除该条数据吗?");
        console.log(flag);
        if(flag){
            p1.style.display = "none";//虚假的删除
        }
    }

    //open()弹出一个新的页面窗口,属于是新打开一个页面
     window.open("http://www.baidu.com");

    //close()关闭一个窗口,但是在它上面的代码仍然会运行,如:上面的open仍然会弹出一个新页面,随后原页面关闭,但新页面不会关闭
     btn.onclick = function(){
         window.close();
     }

6. location

location:和浏览器的地址(url/网址)相关的一个对象

console.log(location.href);//获取当前页面的完整网址
location.href = "https://www.4399.com";//跳转页面
location.reload();//刷新页面
document.onclick = function(){
    location.reload();
}//点击页面时,刷新页面
//对url地址进行拆分
console.log(location.protocol);//协议
console.log(location.hostname); //主机
console.log(location.port);// 端口号
console.log(location.pathname);//文件路径
console.log(location.search);//查询参数
console.log(location.hash);//哈希值 哈希路由

7. history

//history历史记录    
// history.forward();//前进一页
// history.back();//后退一页
// history.go(n);//前进/后退n页

8. DOM中的查

DOM:文档对象模型 与页面内容(节点)相关的属性和方法

 //通过id名来取
let oP = document.getElementById("dl"); //某个具体的元素节点 就可以直接操作
oP.innerText = "hello";

//通过类名来取
let aTest = document.getElementsByClassName("test"); //一个集合(伪数组)
        //aTest[0].innerText = "aaa";
        //aTest[1].innerText = "bbb"; //通过索引取到具体的元素节点,再去操作
        //通过标签名来取
        let aPs = document.getElementsByTagName("p");//一个集合(伪数组)
        let aSpans = document.getElementsByTagName("span");
        console.log(aPs.length,aSpans.length);
        //通过选择器选择第一个匹配到的元素节点
        let oP1 = document.querySelector("p");
        console.log(oP1);
        console.log(oP1.querySelector("span"));
        //通过选择器选择所有匹配到的元素节点
        let aps = document.querySelectorAll("p");
        console.log(aps);
        //取到所有的p和span
console.log(document.querySelectorAll("p,span")); console.log(document.querySelectorAll("div>span"));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值