zoukankan      html  css  js  c++  java
  • 20-[JavaScript]-BOM

    1、jsBom简介

    jsBom = javascript browser object model
    BOM指的是浏览器对象模型 Browser Object Model,它的核心就是浏览器.

    2.Bom输出:浏览器弹窗,console

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <body>
            <button onclick="printLuffy()">打印</button>
            <button onclick="findLuffy()">查找</button>
            
        </body>
        
        <script type="text/javascript">
            //1.js ECMAScript DOM:文档  BOM
            
            //BOM  Browser Object Model 浏览器对象模型
            //核心  浏览器
            
            
            //输出   屏幕的宽高 滚动的宽高  setInterval ..  window.open() close() location
            
            alert(1);
            
            //2.用于浏览器的调试
            console.log('路飞学城');
            
            //3. prompt('message',defaultValue)
            var pro = prompt('路飞学城','33333');
            
            console.log(pro);
            
            //4 confirm() 如果点击确定 返回true 如果点击取消 返回false
            
            var m = confirm("学习Bom");
            console.log(m);
            function printLuffy(){
                print()
            }
            
            function findLuffy(){
                var m2 = confirm("学习Bom");
                find(m2);
            }
            
        
            
        </script>
    </html>

    3.open_close新页面方法

        <!DOCTYPE html>
        <html>
            <head>
                <meta charset="UTF-8">
                <title></title>
            </head>
            <body>
    
                <!--行间的js中的open() window不能省略-->
                <button onclick="window.open('https://www.luffycity.com/')">路飞学城</button>
    
                <button>打开百度</button>
                <button onclick="window.close()">关闭</button>
                <button>关闭</button>
    
            </body>
            <script type="text/javascript">
    
                var oBtn = document.getElementsByTagName('button')[1];
                var closeBtn = document.getElementsByTagName('button')[3];
    
                oBtn.onclick = function(){
                    //打开连接
                    open('https://www.baidu.com')
    
                    //打开空白页面
                    open('about:blank',"_self")
                }
                closeBtn.onclick = function(){
                    if(confirm("是否关闭?")){
                        // 关闭
                        close();
                    }
                }
    
            </script>
        </html>

    3、返回用户设备,本地消息,跳转,刷新

     

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>其他得Bom对象和方法</title>
    </head>
    <body>
    
    </body>
        <script type="text/javascript">
            alert('刷新了');
    
            //返回浏览器的用户设备信息  pc 移动端
            console.log(window.navigator.userAgent);
    
            //获取用户本地信息
            console.log(window.location);
    
             //经常使用的一个方法 跳转一个网址
            window.location.href = 'https://luffycity.com';
    
            // 全局刷新,尽量少用全局刷新   后面会学习ajax来实现局部刷新操作
            window.location.reload();
    
            setTimeout(function () {
                window.location.reload();
            },3000)
    
        </script>
    </html>

     

    4、client系列:盒子内容到四边

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style type="text/css">
                .box{
                    width: 200px;
                    height: 200px;
                    position: absolute;
                    border: 20px solid red;
                    margin: 10px 0px 0px 0px;
                    padding: 10px;
                }
            </style>
        </head>
        <body>
            <div class="box">
                
            </div>
        </body>
        <script type="text/javascript">
            /*style
                 * top
                 * left
                 * right
                 * bottom
             
             * client
             *   clientTop 内容区域到边框顶部的距离
             *      clientLeft 内容区域到边框左部的距离
             *   clientWidth 内容区域+左右padding   可视宽度
             *      clientHeight 内容区域+ 上下padding   可视高度
             * */
            
            var oBox = document.getElementsByClassName('box')[0];
            
            console.log(oBox.clientTop)
            console.log(oBox.clientLeft)
            console.log(oBox.clientWidth)
            console.log(oBox.clientHeight)
            
            
        </script>
        
    </html>

     

    5、clientWidth 屏幕得可视区域

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <body>
        </body>
        <script type="text/javascript">
    
            //屏幕得可视区域
            window.onload = function(){
                
                console.log(document.documentElement.clientWidth);
                console.log(document.documentElement.clientHeight);
                
                //可监听屏幕得宽高
                window.onresize = function(){
                    
                    console.log(document.documentElement.clientWidth);
                    console.log(document.documentElement.clientHeight);
                }
                
                
                
            }
        </script>
    </html>

     

    6、offset系列:盒子在浏览器的定位

     

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            
        </head>
        <body>
            <div style="position: relative;">
                
        
                <div id="box" style=" 200px;height: 200px;border: 1px solid red; padding: 10px;margin: 10px;position: absolute;top: 20px;left: 30px;">
                    
                </div>
            </div>
        </body>
        <script type="text/javascript">
            window.onload = function(){
                var box = document.getElementById('box')
                
                //占位宽 高 Top Left  
                
                /*
                 * offsetTop: 如果盒子没有设置定位 到浏览器的顶部的距离,如果盒子设置定位,那么是以父盒子为基准的top值
                 * offsetLeft: 如果盒子没有设置定位 到浏览器的左部的距离,如果盒子设置定位,那么是以父盒子为基准的left值
                     offsetWidth 内容+padding+border
                 * */
                console.log(box.offsetTop)
                console.log(box.offsetLeft)
                console.log(box.offsetWidth)
                console.log(box.offsetHeight)
                
            }
            
        </script>
    </html>

     

    7、scroll系列

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>scroll系列</title>
        <style type="text/css">
            *{ padding: 0; margin: 0;}
        </style>
    </head>
    <body style=" 2000px; height: 2000px;">
        <div style="height: 200px; background-color: red;"></div>
        <div style="height: 200px; background-color: yellow;"></div>
        <div style="height: 200px; background-color: green;"></div>
        <div style="height: 200px; background-color: blue;"></div>
        <div style="height: 200px; background-color: gray;"></div>
    
        <div id="scroll" style=" 200px; height: 200px;border:1px solid red; overflow: auto;padding: 10px;margin: 20px;">
            <p>
                路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚
                路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚
                路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚
                路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚
                路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚
                路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚
                路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚
                路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚
                路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚路飞学诚
            </p>
        </div>
    </body>
        <script type="text/javascript">
    
            //实时监听滚动事件  
            window.onscroll = function () {
                console.log('',document.documentElement.scrollTop);    // 0 200 ...
                console.log('',document.documentElement.scrollLeft);   // 0 200 ...
                console.log('',document.documentElement.scrollWidth);  // 2000
                console.log('',document.documentElement.scrollHeight); // 2000
            }; 
            
            var s = document.getElementById('scroll');
            s.onscroll = function () {
                console.log('',s.scrollTop);  // 0 100 ...
                console.log('',s.scrollLeft); // 0
                console.log('',s.scrollWidth); // 203
                console.log('',s.scrollHeight); // 498  内容得高度 + padding 不包含margin
            }
    
        </script>
    </html>

     

  • 相关阅读:
    设计模式
    《黑马程序员》类和对象(Objective
    《黑马程序员》认识OC的第一个程序(Objective-c)
    《黑马程序员》 字符串 (C语言)
    《黑马程序员》 关键字---typedef (C语言)
    《黑马程序员》预处理指令(宏定义、条件编译、文件包含)(C语言)
    《黑马程序员》 结构体struct (C语言)
    《黑马程序员》局部变量与全局变量 (C语言)
    《黑马程序员》 ★指针练习★ (C语言)
    《黑马程序验》数组与函数(C语言)
  • 原文地址:https://www.cnblogs.com/venicid/p/9128666.html
Copyright © 2011-2022 走看看