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集合访问样式表

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

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

上一篇:C# 全局唯一标识符 (GUID)


下一篇:VB.net 与 C# 的对应逻辑运算符