• js基础知识4


    1.自执行函数  闭包

      解决全局污染的问题

      (function(){

      })();

    2.client 屏幕可视区域

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <script>
            window.onload = function () {
                //document.documentElement 获取的是html标签
                console.log(document.documentElement.clientWidth);
                console.log(document.documentElement.clientHeight);
                //窗口大小发生变化时,会调用此方法
                window.onresize = function () {
                    console.log(document.documentElement.clientHeight);
                    console.log(document.documentElement.clientWidth);
                }
            }
        </script>
    </body>
    </html>
    View Code

    3.offset

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            *{
                padding: 0;
                margin: 0;
            }
        </style>
    </head>
    <body>
        <div>
                <div class="wrap" style="  300px;height: 300px;background-color: green;position: relative; top: 20px;">
                    <div id="box" style=" 200px;height: 200px;border: 5px solid red;position: absolute;top:60px;left: 30px;">
                    </div>
                </div>
        </div>
        <script>
            window.onload = function () {
                //offsetWidth 占位宽  内容+padding+border
                //offsetHeight 占位高
                //offsetTop 如果盒子没有设置定位,到body的顶部的距离,如果设置定位,那么是以父辈为基准的top值
                //offsetLeft 如果盒子没有设置定位,到body的左部的距离,如果设置定位,那么是以父辈为基准的left值
                
                var box = document.getElementById("box");
                console.log(box.offsetTop);
                console.log(box.offsetLeft);
                console.log(box.offsetWidth);
                console.log(box.offsetHeight);
            }
        </script>
    </body>
    </html>
    View Code

    4.scroll

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            *{
                padding: 0;
                margin: 0;
            }
        </style>
    </head>
    <body>
        <div style="height: 200px;background-color: red;"></div>
            <div style="height: 200px;background-color: green;"></div>
            <div style="height: 200px;background-color: yellow;"></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: 5px 0px 0px 0px;">
                <p>青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青
                    青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青
                    青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青
                    青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青
                    青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青青
    
                </p>
    
            </div>
        <script>
            window.onload = function () {
                //实施监听滚动事件
                window.onscroll = function () {
                    //页面卷起的高度
                    console.log("上"+document.documentElement.scrollTop);
                    console.log('左'+document.documentElement.scrollLeft);
                    console.log('宽'+document.documentElement.scrollWidth);
                    console.log('高'+document.documentElement.scrollHeight);
                }
                var s = document.getElementById("scroll");
                s.onscroll = function () {
                    // scrollHeight:内容的高度+padding 不包含边框
                    console.log('宽'+s.scrollWidth);
                    console.log('高'+s.scrollHeight);
                }
            }
        </script>
    </body>
    </html>
    View Code

    5.固定导航栏

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            *{
                padding: 0;
                margin:0;
            }
            .header{
                 100%;
                height: 80px;
                background-color: red;
            }
            .content{
                 100%;
                height: 1000px;
                background-color: purple;
                /*position: relative;*/
                
            }
            .fixTop{
                 100%;
                height: 100px;
                background-color: green;
                position: fixed;
                top: 0;
                left: 0;
                z-index: 1000;
    
            }
            
            .input{
                 400px;
                height: 60px;
                background-color: yellow;
                position: absolute;
                left: 50%;
                margin-left: -200px;
                top: 150px;
                
            }
    
    
        </style>
    </head>
    <body>
        
        <div class="header">
            
        </div>
    
        <div class="content">
            
            
            <div class="input"></div>
        </div>
        <div class="fixTop" style="display: none;"></div>
        <script>
            
    
            window.onload = function() {
                var fromTop = document.getElementsByClassName('input')[0].offsetTop;
                var fixBox = document.getElementsByClassName('fixTop')[0];
    
                console.log(fromTop);
                var count = 0;
                var timer = null;
                window.onscroll = function() {
    
                    var htmlTop = document.documentElement.scrollTop;
                    console.log(htmlTop);
                    
                    if (htmlTop >= fromTop) {
                        clearInterval(timer);
                        timer = setInterval(function () {
                            count+=10;
                            fixBox.style.display = 'block';
    
                            // fixBox.style.opacity = count;
                            fixBox.style.height = count+'px';
    
                            if (count == 100) {
                                clearInterval(timer);
                            }
                        
                        },1)
                    }else{
                        fixBox.style.display = 'none';
                    }
                    
                }
            }
        </script>
    
        
    </body>
    </html>
    View Code
  • 相关阅读:
    汪曾祺《生活是很好玩的》有感
    中小学Python编程语言教学
    1. python 基础课程目录
    白盒测试之gmock入门篇
    Apache与Tomcat 区别联系
    白盒测试之gtest第一个demo
    白盒测试之初识gtest工具
    纯手工打造dropdownlist控件
    android 线程的使用总结
    染色板QPlette
  • 原文地址:https://www.cnblogs.com/qq849784670/p/9719482.html
Copyright © 2020-2023  润新知