zoukankan      html  css  js  c++  java
  • 前端JavaScript之BOM

    BOM:浏览器对象模型,操作浏览器部分功能的API。比如让浏览器自动滚动。

    1.window对象

    所有浏览器都支持 window 对象。
    概念上讲.一个html文档对应一个window对象.
    功能上讲: 控制浏览器窗口的.
    使用上讲: window对象不需要创建对象,直接使用即可.

    方法

    alert()            显示带有一段消息和一个确认按钮的警告框。
    confirm()          显示带有一段消息以及确认按钮和取消按钮的对话框。
    prompt()           显示可提示用户输入的对话框。
    
    open()             打开一个新的浏览器窗口或查找一个已命名的窗口。
    close()            关闭浏览器窗口。
    
    setInterval()      按照指定的周期(以毫秒计)来调用函数或计算表达式。
    clearInterval()    取消由 setInterval() 设置的 timeout。
    setTimeout()       在指定的毫秒数后调用函数或计算表达式。
    clearTimeout()     取消由 setTimeout() 方法设置的 timeout。
    scrollTo()         把内容滚动到指定的坐标。

     2.相关操作

    2.1打开窗口

    window.open(url,target)

    url:要打开的地址

    target:新窗口的位置,可以是_blank,_self,_parent父框架

    2.2location对象属性(重点)

    href    跳转
    
    hash 返回url中#后面的内容,包含#
    
    host 主机名,包括端口
    
    hostname 主机名
    
    pathname url中的路径部分
    
    protocol 协议 一般是http、https
    
    search 查询字符串

    例:点击网页5s后跳转

    <body>
    <div>点击后5秒后跳转百度</div>
    <script>
    
        var div = document.getElementsByTagName("div")[0];
    
        div.onclick = setTimeout(function () {
            location.href = "http://www.baidu.com";   
            //点击div时,跳转到指定链接,这里设为_blank,注意拦截
     // window.open("http://www.baidu.com","_blank");  
        },5000);
    
    </script>
    </body>

    2.3location对象方法

    location.reload():重新进行加载

    3.client,offset,scroll系列案例操作

    3.1client(屏幕可视区域数值大小会随着窗口大小的变化而变化)

    * clientTop 内容区域到边框顶部的距离 ,说白了就是边框的高度
    * clientLeft 内容区域到边框左部的距离,说白了就是边框的宽度
    * clientWidth 内容区域+左右padding 可视宽度
    * clientHeight 内容区域+ 上下padding 可视高度

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style type="text/css">
                .box{
                     200px;
                    height: 200px;
                    position: absolute;
                    border: 10px solid red;
                    /*margin: 10px 0px 0px 0px;*/
                    padding: 80px;
                }
            </style>
        </head>
        <body>
            <div class="box">
                哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
            </div>
        </body>
        <script type="text/javascript">
            var oBox = document.getElementsByClassName('box')[0];
            console.log(oBox.clientTop);
            console.log(oBox.clientLeft);
            console.log(oBox.clientWidth);
            console.log(oBox.clientHeight);      
        </script>
        
    </html>
    复制代码

    效果:

    2.offset系列

    3.sroll系列

  • 相关阅读:
    router.beforeEach、路由元信息、导航守卫与函数式编程
    C++传递不定参函数
    函数式编程-compose与pipe
    玩转redux--从会用到庖丁解牛
    redux沉思录:基于flux、状态管理、函数式编程的前端状态管理框架
    Laravel 框架集成 UEditor 编辑器的方法
    i18n实现前端国际化(实例)
    laravel获取当前认证用户登录
    larave5.6 引入自定义函数库时,报错不能重复定义
    2019教师证教材资料
  • 原文地址:https://www.cnblogs.com/LearningOnline/p/9125365.html
Copyright © 2011-2022 走看看