2016年第2周讀書筆記與工作筆記 scrollIntoView()與datalist元素

来源:http://www.cnblogs.com/baiyygynui/archive/2016/01/09/5115667.html
-Advertisement-
Play Games

這一周主要是看了html5網頁開發實例與javascript 高級程式設計,供以後翻閱查找。html5網頁開發實例第1章與第二章的2.1部分:第1章內容:html5在w3c的發展史、瀏覽器的相容問題、搭建開發h5的瀏覽器環境、h5在移動應用開發領域的前景我主要看了【搭建開發h5的瀏覽器環境】, 因為...


 

這一周主要是看了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集合訪問樣式表

 

 

    這裡是這個周的工作筆記:

這個周主要工作內容是手機端報表的製作與修改,實現日期與數據的聯動效果,代碼與效果參考:

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • html:css:#btn{position:fixed;display:none;}script:獲取滾動條高度:document.documentElement.scrollTop || document.body.scrollTop獲取可視區高度:document.documentElemen...
  • 一、引言 很久沒有寫過博客了,但是最近這段時間都沒有閑著,接觸了很多方面。比如一些前端框架和組件、還有移動開發React-Native、以及對.NET框架設計的一些重新認識。這些內容在接下來的時間都會一一和大家分享的。我為什麼放置了這麼久又重新寫博客呢?因為在這段時間裡面,我雖然接觸了這麼多東西,....
  • 今天知道了jquery頁面刷新的一個方法,很簡單的一句:window.location.reload()刷新當前頁面,不得不說我jquery學的很糟糕,明明都學過,但是等用到的時候就想不起來了。不過以後一定會更努力的學習的!
  • 1 2 3 4 5 抽獎游戲 6 39 80 81 82 83 184 285 386 487 88 589 690 791 892 93 94
  • 我在項目使用了AngularJS框架,用RequireJS做非同步模塊載入(AMD),在做文件合併壓縮時,遇到了一些坑,有些只是解決了,但不明白原因。那些坑1. build.js裡面的paths必須跟main.js裡面的保持一致。這個build.js就是r.js使用的配置文件,而main.js就是Re...
  • jquery實現的調整表格行tr上下順序:表格是大家比較常用的元素,有時候表格中的行需要調整順序,下麵就通過代碼實例介紹一下如何利用jquery實現此功能。代碼實例如下:螞蟻部落 螞蟻部落一 螞蟻部落一 螞蟻部落一 上移 下移 螞蟻部落二 螞蟻部落二 ...
  • CSS3實現的3D旋轉代碼實例:本章節通過代碼實例介紹一下CSS3實現的3D旋轉效果,css3的出現可以設置更為強大的效果,3D運動效果就是其中的常用效果之一,下麵就是一個這樣的代碼實例,希望能夠給需要的朋友帶來一定的參考意義。代碼如下:螞蟻部落 螞蟻部落一 ...
  • js驗證表單項是否為空實例代碼:表單驗證幾乎在每一個需要註冊或者登陸的網站是必不可少的,有些驗證則非常的複雜,可以說是各種各樣給你的要求,不過本章節只介紹一下表單中最簡單的驗證方式,就是判斷是否為空,有些要求比較低的網站對此已經滿足需要了。代碼如下: js簡單表單驗證-螞蟻部落 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...