zoukankan      html  css  js  c++  java
  • js:网页中的高和宽(document)

    一,此例中通过鼠标点击事件在网页的中心位置创建一个盒子,不管浏览器变小,或是有卷曲的网页,盒子都会在浏览器正中央

    主要方法:clientWidth方法获取当前可见网页的宽度

                       document. documentElement.clientWidth;

         获得网页中被卷去的宽高

                      document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;

    例:

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            *{
                margin: 0px;
                padding: 0px;
            }
    
        </style>
        <script language="JavaScript">
            function $(oId){
                return document.getElementById(oId);
            }
            function which(){
                //clientWidth方法获取当前可见网页的宽度
                var w=document. documentElement.clientWidth;
                var h=document. documentElement.clientHeight;
                //获得网页中被卷去的宽高
                var sw=document.documentElement.scrollLeft || window.pageXOffset || document.body.scrollLeft;
                var sl=document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
                //运算得到设置盒子的位置
                var hh=w/2+sw;
                var ss=h/2+sl;
                //创建一个盒子并为其设置属性
                var oDiv=document.createElement("div");
                oDiv.style.width="100px";
                oDiv.style.height="100px";
                oDiv.style.display="block";
                oDiv.style.position="absolute";
                oDiv.style.left=hh+"px";
                oDiv.style.top=ss+"px";
    //            oDiv.style.marginLeft=hh+"px";
    //            oDiv.style.marginTop=ss+"px";
    
                oDiv.style.backgroundColor="black";
                //设置盒子位置
                $("container").appendChild(oDiv);
    
            }
        </script>
    </head>
    <body>
    
    <div id="container" style="height: 2000px; 2000px"  onmousedown="which();">
    </div>
    </body>
    </html>

    二,addEventListener添加事件句柄

    为网页添加一个盒子可跟随网页的向下滑动保持在网页旁边

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="js/User3.js"></script>
        <style type="text/css">
            body{
                 2000px;
                height: 2000px;
            }
            .box{
                 150px;
                height: 200px;
                position: absolute;
                right: 20px;
                border: 1px solid red;
            }
            .aff{
                transition:all 1s;
            }
        </style>
        <script language="JavaScript">
            /* obj.addEventListener(xEvent,fn, true)
             事件冒泡
             例: 当有父子关系的元素,都触发单击事件的时候,会形成事件流,事件流中的
             事件会依顺序逐个触发。
             addEventListener第三个参数说明
             第三个参数是指事件的冒泡触发顺序,false 表示从子元素到父元素依次触发事件。
             true  表示从父元素到子元素依次触发事件。
    
             * */
            function $(oId){
                return document.getElementById(oId);
            }
             function scrollEvent(obj,xEvent, fn) {
                if(obj.attachEvent){
                    //添加事件句柄fn是传入的事件类型
                    obj.attachEvent("on"+xEvent,fn);
                }
                if(obj.addEventListener){
                    //添加事件句柄fn是传入的事件类型
                    obj.addEventListener(xEvent,fn, true);//addEventListener  w3c标准。
                }
            }
            ////DOMMouseScroll  mousewheel
            window.onload = function(){
                dom.addClass( $("oDiv"),"aff");
                var  top=$("oDiv").style.top;
                //类型转换
                top=parseInt(top);
                //调用scrollEvent函数传入想要设置的对象和事件和事件执行完调用的函数
                scrollEvent(document,"scroll",function(){
                    //
                    var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
                    var h=scrollTop+top+"px";
                    $("oDiv").style.top=h;
                });
            }
    
        </script>
    
    </head>
    <!--事件冒泡-->
    <body >
    <div style="top:40px;" class="box" id="oDiv">
    </div>
    </body>
    </html>
  • 相关阅读:
    Interview with BOA
    Java Main Differences between HashMap HashTable and ConcurrentHashMap
    Java Main Differences between Java and C++
    LeetCode 33. Search in Rotated Sorted Array
    LeetCode 154. Find Minimum in Rotated Sorted Array II
    LeetCode 153. Find Minimum in Rotated Sorted Array
    LeetCode 75. Sort Colors
    LeetCode 31. Next Permutation
    LeetCode 60. Permutation Sequence
    LeetCode 216. Combination Sum III
  • 原文地址:https://www.cnblogs.com/dybe/p/8082229.html
Copyright © 2011-2022 走看看