• 2016年第2周读书笔记与工作笔记 scrollIntoView()与datalist元素


    这一周主要是看了html5网页开发实例与javascript 高级程序设计,供以后翻阅查找。 

    html5网页开发实例第1章与第二章的2.1部分:

    第1章内容:

    html5在w3c的发展史、

    浏览器的兼容问题、

    搭建开发h5的浏览器环境、

    h5在移动应用开发领域的前景

    我主要看了【搭建开发h5的浏览器环境】, 因为工作中主要的用来调试代码的工具是chrome,而这篇文章也在讲解这款浏览器强大的开发工具,讲解了chrome提供的8大组工具:

    Elements:  这个工具主要是用于查看chrome渲染页面所需要的的HTML、CSS和DOM(Document Object Model)对象。此外,还可以编辑这些内容更改页面显示效果,我通常用来调试CSS样式;

    Network:   可以看到页面向服务器请求了哪些资源,花了多少时间以及资源大小,是否请求成功,请求成功后的返回值;

    Sources:    几乎是我最常用到的Chrome功能面板,也是在我看来决解一般问题的主要功能面板。我主要是使用断点功能来调试JS的报错问题,可以使用一些快捷键:

    • 快速确定某一行:ctrl+G;
    • 快速查找文本:ctrl+F;
    • JS的路径一步步走下去的话,不过这个快捷健不会跳进函数内部,按  F10;
    • 如果一个函数包含着另一个函数的话,可以按  F11  进入函数包去查看代码,也可以点击图标对代码进行跟踪;

    Watch :    它的作用是为目前断点添加表达式,我主要用来查找断点中是否有值。需要注意的是这个功能必须谨慎使用,因为这可能会导致你写下的监控代码段会不断地被执行,所以要把调试后的代码要删除。

    第2章 2.1内容:

    最新的交互元素、

    页面结构、

    其它标签元素

    我主要了解在【其它标签元素】中的datalist元素,它与input元素配合使用,文本框使用datalist的数据进行提示时,将input的list属性设置为指向datalist的id属性,当用户在文本框中输入“南”时,则在输入框的下方自动出现补全提示,效果如,百度的搜索框。

    <input list = 'province' />
    <datalist id = 'province'>
      <option value='背景'>
      <option value='南湖社区'>
      <option value='上海市'>
    </datalist>
    

      mark   元素用于标记文本,比如高亮显示,和span用法相似:<mark>南湖社区</mark>

          video  元素,视频元素,在网页中加入一段视频:  <video src='视频地址' controls='controls' preload='preload'></video>

         controls    是否显示vidio的默认控件,如前进、停止、声音控制等;

          preload    页面加载时自动进行视频加载;

        javascript 高级程序设计  第11章  第12章

        第11章  DOM扩展  内容

        selector()方法、

        html5 数据属性 焦点方法、

        专有扩展 滚动

         我主要了解了selector()方法与滚动。

         selector()方法  调用它时,会在文档元素中查找匹配的元素,而通过Element调用queryselector()方法时,只会在该元素的后代查找匹配的元素。这个匹配的元素是一个CSS选择符。

          selector()方法属于selectorAPI,它让开发人员能够基于css选择器从Dom中取得元素。

         

    //取得类为btn的所有的元素
    
    var btns = document.querySelectorAll('btn');
    
    //取得类为btn的第一个元素
    
    var btns = document.querySelector('.btn');
    

      比较详细的了解滚动scrollIntoView(),是因为最近在做手机端报表,图表大于2个,就会产生滚动效果。需要注意的是:scrollIntoView() 、 scrollIntoViewIfNeeded()是作用于对象元素的容器,而scrollByLines() 、 scrollByPages()是作用于元素本身。

    而上面的这四种方法中,只有scrollIntoView()是唯一一个所有浏览器都支持的方法,也是最常用的方法。

         DOM的滚动  scrollIntoView() 

         DOM规范中并没有规定各浏览器需要实现怎样的滚动页面区域,各浏览器为了实现相应的效果,作为ElementHTML扩展的存在,定义了如下的方法:

    •      scrollIntoView()    滚动浏览器容器或容器,以方便在当前容器的可见区域内看见该元素,参数为alignWithTop,如果alignWithTop结果为true或者省略它,元素本身会尽可能的滚动到与容器顶部齐平的位置;
    •      scrollByLines(lineCount)      将元素内容滚动到指定的行数的高度,lineCount的值可以为正值或是负值。大部分浏览器不支持,不过chrome是支持的;
    •      scrollByPages(pageCount)      将元素滚动到指定的页面高度,具体的高度由元素的高度决定;

        第12章  DOM2和DOM3  内容

       

        DOM2和DOM3的变化、

        操作样式的DOM API、

        DOM的遍历与范围

        这节的内容大概的浏览了一下,文章的内容在理解上有点困难,总结为DOM2定义了一些模块,是为了增加DOM1,DOM2的核心内容与HTML文档没有实际的意义;DOM2的样式模块主要针对操作元素的样式信息而开发,总结为:

    •     每个样式都有一个关联的style对象,用于修改行内样式
    •     要确定每个元素的计算样式,可以使用getComputedStyle()方法,但是IE不支持
    •     可以通过document.styleSheets集合访问样式表

        这里是这个周的工作笔记:

    这个周主要工作内容是手机端报表的制作与修改,实现日期与数据的联动效果,代码与效果参考:

     

  • 相关阅读:
    HDU 2544 最短路
    HDU 3367 Pseudoforest
    USACO 2001 OPEN
    HDU 3371 Connect the Cities
    HDU 1301 Jungle Roads
    HDU 1879 继续畅通工程
    HDU 1233 还是畅通工程
    HDU 1162 Eddy's picture
    HDU 5745 La Vie en rose
    HDU 5744 Keep On Movin
  • 原文地址:https://www.cnblogs.com/baiyygynui/p/5115667.html
Copyright © 2020-2023  润新知