zoukankan      html  css  js  c++  java
  • Python Dom 的介绍和使用day2

    5.位置
      1.clientHeight 可见区域:height+padding
      2.clientTop border高度

      3.offsetHeight 可见区域:height+padding+border
      4.offsetTop 距离上级定位标签的高度

      5.scrollHeight 全文高:height+padding
      6.scrollTop 滚动高度

      PS:谷歌浏览器使用document.body.scrollTop一直显示0,所以使用document.documentElement.scrollTop
      跟程序开头的<!DOCTYPE html>有关,各浏览器下 scrollTop的差异 原文链接:https://blog.csdn.net/sleepwalker_1992/article/details/80677845
        IE:
           对于没有doctype声明的页面,使用  document.body.scrollTop 或 document.documentElement.scrollTop; 
           对于有doctype声明的页面,则使用 document.documentElement.scrollTop;

        Chrome、Firefox: 
           对于没有doctype声明的页面,使用  document.body.scrollTop 来获取 scrollTop高度 ; 
           对于有doctype声明的页面,则使用 document.documentElement.scrollTop; 

        Safari: 
           safari 比较特别,有自己获取scrollTop的函数 : window.pageYOffset ; 

        所以可以合在一起判断window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft
      
    6.提交表单
    之前是<input type='submit' value='提交'>来提交当前form的表单
    现在可以用DOM来提交

            <!DOCTYPE html>
            <html lang="en">
            <head>
                <meta charset="UTF-8">
                <title>Title</title>
            </head>
            <body>
                <form id="i1">
                    <input type="text">
                    <input type="submit"value="提交">
                    <a onclick="Submit()">提交</a>
                </form>
    
                <script>
                    function Submit() {
                        var tag=document.getElementById('i1');
                        tag.submit();
                    }
                </script>
            </body>
            </html>
    例子

    7.其他操作
      1.console.log() 输出框,把括号中的内容输出到网页上
      2.alert() 弹出框
      3.confirm() 确认框,有返回值,为false或true
      //URL和刷新
      4.location.href 获取URL
      5.location.href="URL" 重定向
      6.location.reload() 重新加载
      //定时器:
      7.setInterval 多次定时器
      8.clearInterval
      9.setTimeOut 单次定时器
      10.clearTimeOut
    8.事件的绑定
      特殊事件:
        1.this,指向当前触发事件的标签
        2.全局事件绑定 window.onkeydown=function(){}
        3.event,特殊参数,包含事件相关内容(跟之前的pygame的event差不多)
        4.默认事件
        如:(a标签,跳转)(submit标签,提交).....
          如果绑定事件,先执行自定义事件,再执行默认事件
          <input type="submit" value="提交" onclick="return Submit()">
          加上return的话,后面的Submit()函数如果是true就会执行后面的事件,如果是false就不执行
        (checkbox,勾选)..
          如果绑定事件,先执行默认事件,再执行自定义事件


    例子:点赞
    1.this,指向当前触发事件的标签, function(this),可以传入这个标签
    2.setInterval(匿名函数,时间单位ms) 创建定时器,会返回一个值,inter=setInterval()
    3.clearInterval删除定时器,传入创建时返回的值,clearInterval(inter)
    4.removeChild删除子标签

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <style>
     7         .item{
     8             padding: 50px;
     9             position: relative;
    10         }
    11         .item span{
    12             position: absolute;
    13             top: 42px;
    14             left: 83px;
    15             opacity: 1;
    16         }
    17     </style>
    18 </head>
    19 <body>
    20     <div class="item">
    21         <a onclick="f1(this)">赞!</a>
    22     </div>
    23     <div class="item">
    24         <a onclick="f1(this)">赞!</a>
    25     </div>
    26     <div class="item">
    27         <a onclick="f1(this)">赞!</a>
    28     </div>
    29     <div class="item">
    30         <a onclick="f1(this)">赞!</a>
    31     </div>
    32     <script>
    33         function f1(ths) {
    34             var top=42;
    35             var left=83;
    36             var op=1;
    37             var fontSize=18;
    38             var tag = document.createElement('span');
    39             tag.innerText='+1';
    40             tag.style.top=top+'px';
    41             tag.style.left=left+'px';
    42             tag.style.fontSize=fontSize+'px';
    43             tag.style.opacity=op;
    44             ths.parentElement.appendChild(tag);
    45 
    46             var inter=setInterval(function ()
    47                 {
    48                 top-=10;
    49                 left+=10;
    50                 op-=0.1;
    51                 fontSize+=5;
    52                 tag.style.top=top+'px';
    53                 tag.style.left=left+'px';
    54                 tag.style.fontSize=fontSize+'px';
    55                 tag.style.opacity=op;
    56                 if (op<=0.2){
    57                     clearInterval(inter);
    58                     ths.parentElement.removeChild(tag)
    59                              }
    60                 }
    61             ,50)
    62         }
    63     </script>
    64 </body>
    65 </html>
    点赞例子
  • 相关阅读:
    mysql orderby 查询过慢优化
    js密码复杂度验证
    下载linux指定目录下的文件
    关于对接农业银行支付的问题
    string拼接时去掉最后一个逗号
    java基础题整理(1)
    springboot 读取 resource文件
    自动生成Excel 报表工具类
    java设计模式—— 工厂模式
    pyqt线程实现
  • 原文地址:https://www.cnblogs.com/otome/p/12675990.html
Copyright © 2011-2022 走看看