Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 www.欧美视频.com,最新亚洲情黄在线网站无广告 ,91精品久久久久久久久久小网站

          整合營銷服務商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          (一)熟練HTML5+CSS3,每天復習一遍

          學習網(wǎng)頁的概念和分類,了解靜態(tài)網(wǎng)頁和動態(tài)網(wǎng)頁的不同;了解網(wǎng)頁瀏覽器的工作原理。了解HTML,XHTML,HTML5的概念,制作簡單的HTML頁面的開發(fā)。

          什么是網(wǎng)頁

          可以在internet上通過網(wǎng)頁瀏覽信息,如新聞,圖片等,還可發(fā)布信息,如招聘信息等,網(wǎng)頁是在某個地方某一臺計算機上的一個文件。

          網(wǎng)頁主要由3部分組成:結構,表現(xiàn),行為。

          靜態(tài)網(wǎng)頁的特點是不論在何時何地瀏覽這個網(wǎng)頁,看到的形式和內容都相同,且只能瀏覽,用戶無法與網(wǎng)站進行互動。靜態(tài)頁面由HTML編寫,擴展名一般為.htm, .html, .shtml, .xml等。與動態(tài)頁面相比,動態(tài)網(wǎng)頁是以.asp, .jsp, .php, .perl, .cgi等形式為后綴。

          動態(tài)網(wǎng)頁指網(wǎng)頁的內容可以根據(jù)某種條件而自動改變。

          網(wǎng)頁瀏覽器的工作原理

          采用B/S結構,即瀏覽器/服務器結構,用戶工作界面是通過www瀏覽器來實現(xiàn)的:

          1. 事務邏輯主要在服務器端實現(xiàn),極少部分的事務邏輯在前端實現(xiàn)。
          2. 大大簡化了客戶端的計算機載荷。
          3. 減輕了系統(tǒng)維護與升級的成本和工作量。
          4. 降低了用戶的總體成本。

          瀏覽器的工作原理:

          1. 瀏覽器通過HTML表單或超鏈接請求指向一個應用程序的URL。
          2. 服務器收到用戶的請求。
          3. 服務器執(zhí)行已接收創(chuàng)建的指定應用程序。
          4. 應用程序通常基于用戶輸入的內容,執(zhí)行所需要的操作。
          5. 應用程序把結果格式化為網(wǎng)絡服務器和瀏覽器能夠理解的文檔,即通常所說的HTML網(wǎng)頁。
          6. 網(wǎng)絡服務器最后將結果返回到瀏覽器中。

          www的基礎是HTTP協(xié)議,web瀏覽器就是用于通過url來獲取并顯示web網(wǎng)頁的一種軟件工具,url用于指定要取得的Internet上資源的位置與方式。

          HTML和HTML5

          HTML是一種用來制作超文本文檔的簡單標記語言,用其編寫的超文本文檔稱為HTML文檔,它能獨立于各種操作系統(tǒng)平臺。

          可擴展超文本標記語言XHTML:

          XHTML是不需要編譯,可以直接由瀏覽器執(zhí)行,是一種增強了的HTML。它的可擴展性和靈活性將適應未來網(wǎng)絡應用的更多需求,是基于XML的應用。開發(fā)者在HTML4.0的基礎上,用XML的規(guī)則對其進行一些擴展,由此得到了XHTML,所以,建立XHTML的目的是為了實現(xiàn)HTML向xml的過渡。

          HTML5簡化了:<!DOCTYPE html>,簡化了DOCTYPE,簡化了字符集聲明,以瀏覽器的原生能力替代腳本代碼的實現(xiàn),簡單而強大的HTML5API。

          HTML網(wǎng)頁的結構

          文件擴展名是操作系統(tǒng)用來標志文件格式的一種機制。擴展名如同文件的身份說明,區(qū)別了文件的類別和作用。

          HTML網(wǎng)頁的文件后綴名是.html或者.htm.

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "xxx">
          聲明的作用,告訴瀏覽器所書寫的HTML代碼的版本。
          復制代碼

          <meta>標簽,是HTML文檔<head>標簽內的一個輔助性標簽,meta標簽分為2個重要的屬性:name和http-equiv,通常用于能夠優(yōu)化頁面被搜索的可能性。

          meta標簽下name屬性的使用:

          <head>
           <meta name="keywords" content="nine, twenty-three">
           <meta name="description" content="...">
           <meta name="generator" content="Dreamweaver">
           <meta name="author" content="depp">
           <meta name="robots" content="all">
          </head>
          復制代碼
          1. keywords向搜索引擎說明頁面的關鍵字,在content后輸入供搜索的具體關鍵字。
          2. description向搜索引擎描述頁面的主要內容。
          3. generator向頁面描述生成的軟件名,在content后面輸入具體的軟件名稱。
          4. author網(wǎng)頁的設計者,在content后面輸入設計者的具體姓名。
          5. robots限制搜索的方式,在content后面通常可輸入all,one,index,noindex,follow,nofollow其中之一,不同的屬性分別有不同的作用,限制頁面被搜索的方式。

          meta標簽下的另一個屬性http-equiv,其作用是反饋給瀏覽器一些明確的信息,幫助瀏覽器更精確地展示頁面。

          <head>
           <meta http-equiv="content-type"  content="text/html; charset=gb2312"/>
          </head>
          復制代碼
          1. refresh 對屬性的具體描述,說明是令頁面自動跳轉的效果。
          2. content 后跟等待的時間,url后跟跳轉的頁面鏈接地址。

          link標簽,定義了一個外部文件的鏈接,經(jīng)常被用于鏈接外部css樣式。

          base標簽為整個頁面定義了所有鏈接的基礎定位,其主要的作用是確保文檔中所有的相對url都可以被分解成確定的文檔地址。

          style標簽用于定義css的樣式。表明了在頁面中引入一個.style的樣式表。

          script標簽用于定義頁面內的腳本。

          titl標題標簽,body體標簽.

          一個好的HTML文檔應具備以下3個方面:

          1. 代碼使用標準規(guī)范,不應該有錯誤的拼寫
          2. 代碼結構清晰,使人一目了然
          3. 沒有錯誤或者多余不必要的代碼出現(xiàn)

          文本設計

          <br>..</br>
          <p>...</p>
          復制代碼
          <p align=left>...</p>
          <p align=center>...</p>
          <p align=right>...</p>
          復制代碼

          給文本加標注:<acronym title="">...</acronym>注釋的內容放在title屬性后的引號中,被注釋的內容放在標簽內。

          無序列表:ul,li,有序列表:ol li

          定義列表:

          <dl>
           <dt>...</dt>
           <dd>...</dd>
           <dt>...</dt>
           <dd>...</dd>
          </dl>
          復制代碼

          網(wǎng)頁中的圖像設計

          1. jepg格式的圖像,該文件是常見的圖像格式,.jpg后綴名,jpeg文件是經(jīng)過壓縮的一種圖像。壓縮的圖像可以保持為8位,24位,32位深度的圖像,壓縮比率可以高達100:1.jpeg可以很好地處理大面積色調的圖像。
          2. png格式的圖像,后綴名.png,這是一種能存儲32位信息的位圖圖像,采用的是一種無損壓縮的方式。支持透明信息,指圖像以浮現(xiàn)在其他頁面文件或頁面圖像之上。
          3. gif格式的圖像,是一種圖像交互格式,后綴名.gif,只支持256色以內的圖像,gif文件的圖像效果是很差的。

          所以總的來說:jepg可以壓縮圖像的容量,png的質量較好,gif可以做動畫。

          矢量圖

          說說矢量圖和位圖最大的區(qū)別:

          無論是否對圖像進行縮放,都不會影響矢量圖的效果,但會影響圖的質量。

          設計者一般只愿意將logo,ui圖標,標識符號等簡單圖像存為矢量圖。

          圖像的分辨率

          分辨率的單位是dpi即每英寸顯示的線數(shù)。通常所指的分辨率有兩種,屏幕分辨率和圖片分辨率,屏幕分辨率即計算機顯示器默認的分辨率。

          一般目前大部分顯示器的分辨率是1024px x 768px,圖片分辨率定義是用于量度位圖圖像內數(shù)據(jù)量多少的一個參數(shù)。

          分辨率越高的圖像,包含的數(shù)據(jù)越多,圖像的容量就越大,會消耗更多的計算機資源,需要更大的存儲空間。

          分辨率指的是每英寸的像素值,通過像素和分辨率的換算可以測算圖片的長度。

          頁面中的圖像

          <img src=... alt=.../>
          復制代碼
          1. 使圖像的頂部和同一行的文本對齊
          <img style="vertial-align:text-top"/>
          復制代碼
          1. 使圖像的中部和同一行的文本對齊
          <img style="vertical-align:middle"/>
          復制代碼
          1. 使圖像的底部和同一行的文本對齊
          <img style="vertical-align:text-bottom"/>
          復制代碼
          1. 使圖像的底部和文本的基線對齊
          <img style="vertical-alignbaseline"/>
          復制代碼

          hspace=30px表示圖像左,右兩邊與頁面其他內容隔30px的距離。vspace=30px表示圖像上,下兩邊與頁面的其他內容的間隔距離是30px。

          <img src="" widht="" height="">
          
          <img src="..." border=>
          
          <hr align=".." width="..." size="...">
          
          <a href="鏈接對象的路徑">鏈接錨點對象</a>
          復制代碼

          把郵箱留給需要聯(lián)系你的人

          <a href="mailto:郵箱地址">鏈接錨點對象</a>
          復制代碼
          1. 鏈接還未被訪問:a:link{...}
          2. 鏈接被選中:a:active{...}
          3. 光標滑過鏈接:a:hover{...}
          4. 鏈接被訪問后:a:visited{...}
          dashed 虛線
          
          double 雙線
          
          groove 槽線
          
          inset 內陷
          
          outset 外陷
          復制代碼

          熱點圖像區(qū)域的鏈接

          map標簽:

          <map id=...>
           <area shape="..." coords="..." href="...">
          </map>
          復制代碼

          shape屬性,用于確定選區(qū)的形狀,rect矩形,circle圓形,poly多邊形。href屬性,就是超鏈接。coords屬性,用于控制形狀的位置,通過坐標來找到這個位置。

          網(wǎng)頁中的表單

          計算矩形的面積

          <html>
          <head>
          <title>計算矩形的面積</title>
          <style type="text/css">
           .result {font-weight:bold;}
          </style>
          <script language="JavaScript">
          function calculate() {
           var length = document.data.length.value;
           var width = document.data.width.value;
           var height = document.data.height.value;
           var area = document.getElementById('area');
           area.innerHTML = length*widht;
           volume.innerHTML = length*widht*height;
           }
          </script>
          復制代碼

          創(chuàng)建表單

          1. action屬性,通過form標簽定義的表單里必須有action屬性才能將表單中的數(shù)據(jù)提交出去:
          <form action="my.php"></form>
          復制代碼

          它表明了這是一個表單,其作用是提交my.php頁面中的數(shù)據(jù)。

          1. method屬性告訴瀏覽器數(shù)據(jù)是以何種方式提交出去的。method屬性下可以有2個選擇:post或者get。
          2. name屬性,為了令遞交出去的表單數(shù)據(jù)能夠被處理這些數(shù)據(jù)的程序識別。
          <form name="data">
          復制代碼
          1. 編碼方式,enctype代表HTML表單數(shù)據(jù)的編碼方式。

          表單的工作原理

          原理:在客戶端接收用戶的信息,然后將數(shù)據(jù)遞交給后臺的程序來操控這些數(shù)據(jù)。

          <script language="JavaScript">
          復制代碼

          如果通過引用外部javascript程序,就像鏈接外聯(lián)樣式:

          <script type="text/javascript" src="dada.js"></script>
          復制代碼

          創(chuàng)建表單

          1. action屬性,有action屬性才能將表單中的數(shù)據(jù)提交出去:
          <form action="da.php"></form>
          復制代碼
          1. method 屬性,作用是告訴瀏覽器數(shù)據(jù)是以何種方式提交出去的。在method屬性下可以有2個選擇,post或get。

          提交方式用get,表單域中輸入的內容會添加在action指定的url中,當表單提交之后,用戶會獲取一個明確的url。get在安全性上較差,所有表單域的值直接呈現(xiàn)。post除了有可見的處理腳本程序,別的東西都可以隱藏。

          1. name屬性,添加name屬性是為了令遞交出去的表單數(shù)據(jù)能夠被處理這些數(shù)據(jù)的程序識別。
          <form name="dada">
          復制代碼
          1. 編碼方式:enctype代表HTML表單數(shù)據(jù)的編碼方式,application/x-www-form-urlencoded, multipart/form-data, text/plain三種方式。
          • application/x-www-form-urlencoded是標準的編碼方式,提交的數(shù)據(jù)被編碼為名稱/值對。
          • multipart/form-data屬性表示數(shù)據(jù)編碼為一條消息,為表單定義mime編碼方式,創(chuàng)建了一個與傳統(tǒng)不同的post緩沖區(qū),,頁面上每個控件對應消息中的一個部分。
          • text/plain表示數(shù)據(jù)以純文本的形式進行編碼,這樣在信息中將不包含控件或者格式字符。
          • multipart/form-data方式上傳文件時,不能使用post屬性。
          1. 目標顯示方式,表示在何處打開目標url,可以設置4種方式。
          • _blank表示在新的頁面中打開鏈接
          • _self表示在相同的窗口中打開頁面
          • _parent表示在父級窗口中打開頁面
          • _top表示將頁面載入到包含該鏈接的窗口,取代任何當前在窗口中的頁面。
          <form action="mailto:da@qq.com" method="post" name="dada"
          enctype="text/plain" target="_blank"></form>
          復制代碼

          表單域

          是指用戶輸入數(shù)據(jù)的地方,表單域可分為3個對象,input, textarea, select。

          input對象下的多種表單的表現(xiàn)形式。

          <input name="" type="" value="" size="" maxlength="">
          復制代碼
          • type表示所定義的是哪種類型的表單形式
          • size表示文本框字段的長度
          • maxlength表示可輸入的最長的字符數(shù)量
          • value表示預先設置好的信息
          1. text單行的文本框
          2. password將文本替換*的文本框
          3. checkbox只能做二選一的是或否選擇
          4. radio從多個選項中確定的一個文本框
          5. submit確定命令文本框
          6. hidden設定不可瀏覽用戶修改的數(shù)據(jù)
          7. image用圖片表示的確定符號
          8. file設置文件上傳
          9. button用來配合客戶端腳本
          <form action="" method="post">
          <input name="name" type="text" size="20" maxlength="12">
          </form>
          <input name="secret" type="password" size="20" maxlength="20">
          
          <input name="one" type="radio" value="one" checked="checked">
          <input name="one" type="radio" value="two">
          
          <input type="submit" value="確定">
          <input type="reset" value="恢復">
          復制代碼

          創(chuàng)建submit按鈕或reset按鈕時,name屬性不是必需的。

          hidden隱藏域的樣式表單

          使用hidden來記錄頁面的數(shù)據(jù)并將它隱藏起來,用戶對這些數(shù)據(jù)通常并不關心,但是必須提交數(shù)據(jù)。

          <form action=da.asp>
          <input type=hidden name=somehidden value=dada>
          <input type=submit value=下一頁>
          </form>
          復制代碼

          image樣式的表單

          <input type="image" src="圖片/小圖標.jpg" alt="確定">
          復制代碼
          • src屬性指定這張圖像的路徑
          • alt屬性添加文本注釋

          file上傳文件的樣式表單

          file樣式表單允許用戶上傳自己的文件

          <html>
          <head>
          <title>file樣式的表單</title>
          <style type="text/css">
          body {font:120% 微軟雅黑;}
          input {font:100% 微軟雅黑;}
          </style>
          </head>
          上傳我的文件:
          <form action="..." method="post" enctype="multipart/form-data">
          <input type="file" name="uploadfile" id="uploadfile"/>
          </form>
          </body>
          </html>
          復制代碼

          textarea對象的表單

          textarea對象的表單

          <html>
          <head>
          <title>file樣式的表單</title>
          <style type="text/css">
          body{font:120% 微軟雅黑;}
          textarea{font:80% 微軟雅黑;color:navy;}
          </style>
          </head>
          <body>
          留言板
          <form action="..." method="post" enctype="multipart/form-data">
          <textarea name="dada" rows="10" cols="50" value="dada">請說:</textarea>
          </form>
          </body>
          </html>
          復制代碼

          select對象的表單

          select對象的表單

          <form action="">
           地址:
           <select name="da1">
            <option>1</option>
           </select>
          </form>
          復制代碼

          使用optgroup標簽配合label屬性來給選項分類:

          <select name="上海">
          <optgroup label="da1">
          <option>1</option>
          </optgroup>
          <optgroup label="da2">
          <option>2</option>
          </optgroup>
          </select>
          復制代碼

          在select標簽中加入size屬性即可,如size=6表示是一個能容納6行文字的文本框,超出設置的行數(shù)時,將出現(xiàn)滾動條。

          <select name="上海" size="6">
          復制代碼

          表單域集合:表單域的代碼由fieldset標簽和legend標簽組合而成。

          <form action="..." method="post">
          <fieldset>
          <legend>注冊信息:</legend>
          輸入用戶名:<input name="name" type="text" size="20" maxlength="12">
          </fieldset>
          </form>
          復制代碼

          表單輸入類型

          • url類型的input元素是專門為輸入url地址定義的文本框。
          <input type="url" name="webUrl" id="webUrl" value="http://wwwxxx"/>
          復制代碼
          • email類型的input元素是專門為輸入email地址定義的文本框。
          <input type="email" name="dada" id="dada" value="23@qq.com"/>
          復制代碼
          • range類型的input元素用于把輸入框顯示為滑動條,可以作為某一特定范圍內的數(shù)值選擇器。
          <input type="range" name="volume" id="volume" min="0" max="1" step="0.2"/>
          復制代碼
          • number類型的Input元素是專門為輸入特定的數(shù)字而定義的文本框。
          <input type="number" name="score" id="score" min="0" max="10" step="0.5"/>
          復制代碼
          • tel類型的input元素是專門為輸入電話號碼而定義的文本框,沒有特殊的驗證規(guī)則。
          • search類型的input元素是專門為輸入搜索引擎關鍵詞定義的文本框,沒有特殊的驗證規(guī)則。
          • color類型的input元素默認會提供一個顏色選擇器。
          • date類型的Input元素是專門用于輸入日期的文本框,默認為帶日期選擇器的輸入框。
          • month提供一個月的選擇器,week提供一個周選擇器,time會提供時間選擇器,datetime會提供完整的日期和時間選擇器,datetime-local會提供完整的日期和時間選擇器。

          增加表單的特性以及元素

          1. form特性:
          <input name="name" type="text" form="form1" required/>
          <form id="form1">
          <input type="submit" value="提交"/>
          </form>
          復制代碼
          1. formaction特性,將表單提交至不同的頁面。
          <form id="form1" method="post">
          <input name="name" type="text" form="form1"/>
          <input type="submit" value="提交到page1" formaction="?page=1”/>
          <input type="submit" value="提交到page2" formaction="?page=2"/>
          <input type="submit" value="提交"/>
          </form>
          復制代碼
          • formmethod特性可覆蓋表單的method特性
          • formenctype特性可覆蓋表單的enctype特性
          • formnovalidate特性可覆蓋表單的novalidate特性
          • formtarget特性可覆蓋表單的target特性

          placeholder特性

          <input name="name" type="text" placeholder="請輸入關鍵詞"/>
          復制代碼

          autofocus特性:用于當頁面加載完成時,可自動獲取焦點,每個頁面只允許出現(xiàn)一個有autofocus特性的input元素。

          <input name="key" type="text" autofocus/>
          復制代碼

          autocomplete特性用于form元素和輸入型的Input元素,用于表單的自動完成。

          input name="key" type="text" autocommplete="on"/>
          復制代碼

          autocomplete特性有三個值,可以指定"on","off"和""不指定,不指定就將使用瀏覽器的默認設置。

          <input name="email" type="email" list="emaillist"/>
          <datalist id="emaillist">
          <option value="23#qq.com">xxxx</option>
          </datalist>
          復制代碼

          keygen元素提供一個安全的方式來驗證用戶。

          <form action="">
          <input type="text" name="name"/><br>
          <keygen name="security"/>
          <br><input type="submit"/>
          </form>
          復制代碼
          1. keygen元素有密鑰生成的功能,在提交表單時,會分別生成一個私人密鑰和一個公共密鑰。
          2. 私人密鑰保存在客戶端,公共密鑰則通過網(wǎng)絡傳輸至服務器。

          output元素

          1. output元素用于不同類型的輸出,比如計算結果或腳本的輸出等。
          2. output元素必須從屬于某個表單,即寫在表單的內部。
          <form oninput="x.value=dada.value">
          <input type="range" name="volume" value="50"/>
          <output name="x"></output>
          </form>
          復制代碼

          required

          為某個表單內部的元素設置了required特性,那么這項的值不能為空,否則無法提交表單。

          <input name="name" type="text" placeholder="dada" required/>
          復制代碼

          pattern

          1. pattern用于為Input元素定義一個驗證模式。
          2. 該特性值是一個正則表達式,提交時會檢查輸入的內容是否符合給定的格式,如果不符合則不能提交。
          <input name="code" type="text" value="" pattern="[0-9]{6}" placeholder="da"/>
          復制代碼

          min,max,step

          1. min表示允許范圍內的最小值
          2. max表示允許范圍內的最大值
          3. step表示合法數(shù)據(jù)的間隔步長
          <input type="range" name="dada" id="dada" min="0" max="1" step="0.2"/>
          復制代碼

          novalidate

          1. 用于指定表單或表單內在提交時不驗證
          2. 如果在form元素應用novalidate特性,則表單中的所有元素在提交時都不需要再驗證
          <form action="dada.asp" novalidate="novalidate">
          <input type="email" name="user_email"/>
          <input type="submit"/>
          </form>
          復制代碼

          validity

          1. 獲取表單元素的ValidityState對象,該對象包含8個方面的驗證結果
          2. ValidityState對象會持續(xù)存在,每次獲取validity屬性時,返回的是同一個ValidityState對象
          var validityState=document.getElementById("username").validity;
          復制代碼

          willValidate屬性

          1. 用于獲取一個布爾值,表示表單元素是否需要驗證
          2. 如表單元素設置了required特性或pattern特性,則willValidate屬性的值為true,即表單的驗證將執(zhí)行
          var willValidate = document.getElementById("username").willValidate;
          復制代碼

          validationMessage

          1. 獲取當前表單元素的錯誤提示信息。
          var validationMessage=document.getElementById("username").validationMessage;
          復制代碼

          點關注,不迷路

          好了各位,以上就是這篇文章的全部內容,能看到這里的人都是人才。我后面會不斷更新技術相關的文章,如果覺得文章對你有用,歡迎給個“贊”,也歡迎分享,感謝大家 !!

          簡介】

          拖放是一種常見的特性, 屬于html5標準的一部分, 即抓取對象以后拖動到另一個位置, 在html5中, 任何元素都可被設置拖放。首先, 我們要給需要拖動的HTML元素啟用拖動功能, 設置屬性draggable="true",

          <div draggable="true"></div>

          提示:a標簽和img標簽默認是啟用該屬性的, 可不需要設置draggable屬性。

          draggable有三個值, 如下所示:

          draggable = true(元素可以被拖動)

          draggable = false(元素不能被拖動)

          draggable = auto(瀏覽器可以自主決定某個元素是否可以被拖動)

          【用法】

          當我們用鼠標拖拽目標元素過程中會觸發(fā)的事件:

          ondragstart:用戶按下鼠標開始拖動時觸發(fā)

          ondrag:用戶正在拖動時反復觸發(fā)

          ondragend:用戶結束拖動后觸發(fā)

          <img id="imgs" ondragstart="startFun()" ondrag="ondragFun()" ondragend="ondragendFun()" src="../img/a.png"/>

          當拖動元素進入目標容器內觸發(fā)的事件:

          ondragenter:鼠標拖動對象進入釋放區(qū)時觸發(fā)

          ondragover:被拖動物體進入目標容器內移動時反復觸發(fā)

          ondragleave:拖動對象在釋放區(qū)沒有釋放就離開容器時觸發(fā)

          ondrop:被拖動物體在目標容器內釋放時觸發(fā)

          <div id="container" ondragenter="ondragenterFun(event)" ondragover="ondragoverFun(event)" ondragleave="ondragleaveFun()" ondrop="drop()"></div>

          ondragenter和ondragover事件的默認行為是拒絕接受任何被拖放的項目, 所以我們必須要做的最重要的事情就是防止這種默認行為的發(fā)生。

          因此, 我們只需要在這兩個事件調用的函數(shù)中傳入event對象, 使用event.preventDefault()就可取消這種默認行為;舉個例子, 在drop事件時, Firefox瀏覽器會關閉網(wǎng)頁, 轉而顯示被拖動圖片img元素src所引用的地址。

          取消元素默認行為:

          function ondragenterFun(e){
              e.preventDefault();
          }
          function ondragoverFun(e){
              e.preventDefault();
          }

          在event對象中, 我們會使用dataTransfer屬性來獲取DataTransfer對象, 在DataTransfer對象中有我們操作數(shù)據(jù)的屬性和方法, 具體如下:

          datatransfer:轉移釋放元素的數(shù)據(jù)到釋放區(qū), 返回Datatransfer對象

          event.dataTransfer //返回DataTransfer對象

          DataTransfer對象的屬性:

          files:處理從操作系統(tǒng)拖動并釋放到釋放區(qū)的文件;

          types:返回一個字符串數(shù)組, 該對象包含了dataTransfer對象中數(shù)據(jù)的所有類型;

          items:返回DataTransferItems對象, 該對象代表了拖動數(shù)據(jù);

          dropEffect:設置拖放目標允許發(fā)生的拖放行為, 如果此處設置的拖放行為不在effectAllowed屬性設置的可拖放行為內, 拖放操作將會失敗。該屬性值只允許為"null"、"copy"、"link"或"move";

          effectAllowed:設置拖動元素允許發(fā)生的拖動行為, 該屬性值可為"none"、"copy"、"copyLink"、"copyMove"、"link"、"linkMove"、"move"、"all"或"uninitialized";

          DataTransfer對象的方法:

          setData( format , data ):將指定格式的數(shù)據(jù)賦值給dataTransfer對象,參數(shù)format定義數(shù)據(jù)的格式也就是數(shù)據(jù)的類型,data為待賦值的數(shù)據(jù)。

          getData( format ):從dataTransfer對象中獲取指定格式的數(shù)據(jù),format代表數(shù)據(jù)格式,data為數(shù)據(jù)。

          clearData( [format] ):從dataTransfer對象中刪除指定格式的數(shù)據(jù),參數(shù)可選,若不給參數(shù),將刪除對象中所有的數(shù)據(jù)。

          setDragImage(el, x, y):設置拖放操作的圖標,其中el代表自定義圖標,x代表圖標與鼠標在水平方向上的距離,y代表圖標與鼠標在垂直方向上的距離。


          了解了H5拖動使用的api以后我們接下來看一個綜合的案例, 功能如下:

          1)、實現(xiàn)圖片拖動功能;

          2)、實現(xiàn)圖片復制功能;

          3)、過濾不能拖動的元素;

          4)、實現(xiàn)拖動本地圖片到瀏覽器指定位置;

          公共css部分:

          <style>
          #dropIn{
          border:1px solid #AAAAAA;
          height:100px;
          margin-bottom: 10px;
          padding: 10px;
          }
          #dropIn>img{
          margin-right: 10px;
          border:2px solid deepskyblue;
          }
          img{
          width:100px;
          border-radius: 10px;
          border:2px solid red;
          }
          </style>

          html部分:

          <body>
          <div id="dropIn"></div> <!--釋放區(qū)-->
          <img id="drop1" src="img/a.png" alt="" />
          <!--拖動的圖片元素-->
          </body>

          js部分:

          <script type="text/javascript">
          var darggID;
          function getId(el){
              return document.getElementById(el)
          }
          var dropId1 = getId("drop1");
          var dropInId = getId("dropIn");
          //取消事件默認行為
          dropInId.ondragenter = cancelDefault;
          dropInId.ondragover = cancelDefault; //綁定拖動元素釋放時觸發(fā)的事件
          dropInId.ondrop = drop; //綁定
          dropId1.ondragstart = startFun;
          function cancelDefault(ev){ //取消默認行為
              ev.preventDefault();
          }
          function startFun(ev){
              darggID = ev.target.id;
              //獲取被拖動元素的id
              //從源對象上的事件處理中保存數(shù)據(jù),數(shù)據(jù)類型為"Text"
              ev.dataTransfer.setData("Text",darggID);
          }
          function drop(ev){
              ev.preventDefault();
              // 從目標對象上的事件處理中讀取"Text"類型數(shù)據(jù)
              var data=ev.dataTransfer.getData("Text");
              // 插入到目標對象中
              ev.target.appendChild(document.getElementById(data));
          }
          </script>

          接下來我們添加兩張圖, "drop2"是實現(xiàn)復制的圖片, "drop3"是既不能復制也不能拖動的圖片;

          <img id="drop2" src="img/b.png" alt="" /><img id="drop3" src="img/c.png" alt="" />

          添加js代碼:

          //獲取頁面元素
          var dropId2 = getId("drop2");
          var dropId3 = getId("drop3");
          //綁定事件
          dropId2.ondragstart = startFun;dropId3.ondragstart = startFun;
          //修改drop函數(shù)為
          function drop(ev){
              ev.preventDefault();
              // 從目標對象上的事件處理中讀取"Text"類型數(shù)據(jù)
              var data=ev.dataTransfer.getData("Text");
              if(data=='drop1'){
              //移動
                  ev.target.appendChild(document.getElementById(data));
              }
              if(data=='drop2'){//復制
                  var nreEl=document.getElementById(darggID).cloneNode(false);
                  getId("dropIn").appendChild(nreEl);
              }
              if(data=='drop3'){//過濾drop3,drop3不做任何操作
                  alert('過濾drop3')
              }
          }

          接下來我們實現(xiàn)拖動本地圖片到瀏覽器, 我們就將圖片拖動到id為"dropIn"的這個div中;添加js:

          /*document 監(jiān)聽drop 并阻止瀏覽器打開客戶端的圖片*/
          document.ondragover = function (e) {
              //只有在ondragover中阻止默認行為
              e.preventDefault();
          };
          document.ondrop = function (e) {
              //阻止 document.ondrop的默認行為
              e.preventDefault();
          };
          //dropIn是div的id
          dropIn.ondrop = function (e) {
              var list = e.dataTransfer.files;
              for (var i = 0; i < list.length; i++) {
              var f = list[i];
                  reader(f);
              }
          };
          function reader(f) {
              var reader = new FileReader();
              //讀取數(shù)據(jù)
              reader.readAsDataURL(f);
              reader.onload = function () {
              var img = new Image();
              img.src = reader.result;
              dropIn.appendChild(img);
              }
          }

          【瀏覽器支持】

          目前只有Internet Explorer 9、Firefox、Opera 12、Chrome 以及 Safari5支持拖放,在 Safari5.1.2 中不支持拖放。

          最后再和大家分享一個技巧, 這種拖動行為還能跨瀏覽器工作, 這里說的跨瀏覽器不是瀏覽器之間的跨窗口, 而是可以從Chrome瀏覽器拖動到Firefox瀏覽器, 因為拖放功能的支持是集成在操作系統(tǒng)里面的, 有著相同的特性。

          端開發(fā)的入門門檻其實非常低,與服務器端語言先慢后快的學習曲線相比,前端開發(fā)的學習曲線是先快后慢。

          所以,對于想從事IT工作的人來說,前端開發(fā)是個不錯的切入點。

          對于零基礎的HTML5學習者,首先需要的是一條思路清晰的HTML5學習路線,學習路線如同一本書的目錄,有了它就可以對一門語言有宏觀概念,學習起來更有針對性,這一點對零基礎小白尤其重要。

          下面,小編就為大家揭曉HTML5入門路線是什么樣的?

          基本概念

          HTML(Hypertext Markup Language,超文本標記語言),是用來創(chuàng)建網(wǎng)頁和網(wǎng)絡應用的標準標記語言,可用來定義和描述網(wǎng)頁的內容和結構。和CSS、JavaScript一起組成互聯(lián)網(wǎng)的基礎技術。

          1、HTML5介紹

          內容包括:互聯(lián)網(wǎng)發(fā)展趨勢、H5語言的優(yōu)勢、簡單易學人人都能編程、H5就業(yè)和薪資情況、H5常見的項目與產(chǎn)品、H5的未來與方向

          2、HTML基礎

          內容包括:HTML簡介與歷史版本、常用開發(fā)軟件、常見標簽與屬性、表格與表單、標簽規(guī)范與標簽語義化、實戰(zhàn):網(wǎng)頁結構布局

          3、CSS基礎

          內容包括:css簡介與基本語法、常見的各種樣式屬性、CSS選擇器與標簽類型、理解盒子模型與CSS重置、浮動與定位、利用photoshop工具測量樣式、HTML+CSS開發(fā)網(wǎng)頁、實戰(zhàn):高仿電商首頁效果

          4、CSS3基礎

          內容包括:css3常見樣式、css3選擇器、變形與動畫、3D效果與關鍵幀、彈性盒模型

          5、移動端布局

          內容包括:移動端基本概念、viewport窗口設置、移動端布局方案、rem、vh、vw等單位、響應式布局、bootstrap框架

          6.、JavaScript基礎

          內容包括:JS簡介、JS變量、數(shù)據(jù)類型與類型轉換、運算符與優(yōu)先級、流程控制-if..else流程控制-switch...case、流程控制-while、do..while、for循環(huán)、break、continue語法、函數(shù)定義與調用、全局變量與局部變量。

          還有函數(shù)傳參與返回值、函數(shù)作用域與變量作用域、DOM的基本操作、定時器使用、this指向與修改指向、數(shù)組、字符串等方法操作、時間對象與正則對象、掌握常見BOM操作、常見事件與事件細節(jié)、JSON與AJAX、JSONP跨域操作、前端cookie的使用、實戰(zhàn):JS配合HTML與CSS完成電商項目

          7、jquery框架

          內容包括:jquery框架介紹及優(yōu)勢介紹、jquery核心思想、jquery常見方法、jquery動畫操作、jqueryAJAX操作、jquery工具方法、利用jquery快速開發(fā)網(wǎng)頁

          8、PHP基礎

          內容包括:PHP簡介與基本語法、mysql數(shù)據(jù)庫及sql語法、apache服務器與集成開發(fā)工具、PHP鏈接數(shù)據(jù)庫、PHP與AJAX交互、實戰(zhàn):留言板、登錄、注冊等

          9、H5基礎項目

          內容包括:項目簡介、項目功能演示、項目劃分及框架、編寫HTML頁面結構、設置CSS樣式、添加JS交互、可選框架:bootstrap、jquery、PHP等、項目調試及兼容、項目驗收

          雖然HTML5前端薪資高入門門檻低, 但是俗話說得好:入門容易,精通難。

          HTML5前端開發(fā)的知識點繁多,要想真正掌握HTML5前端工程師開發(fā)技能,并非易事。

          踩樓、私信小編,軟件資源免費送!

          如果你想學習HTML5前端,想高薪就業(yè),就來樂購IT教育學院,我們有優(yōu)質的師資,完備的建站流程和一流的開發(fā)、設計人員。是學編程與設計錯不了的選擇!


          主站蜘蛛池模板: 无码夜色一区二区三区| 日韩AV无码一区二区三区不卡| 99精品国产一区二区三区2021| 国产在线观看一区二区三区四区| 日产一区日产2区| 国产成人无码AV一区二区在线观看| 中文字幕永久一区二区三区在线观看| 日本一区二区三区精品国产| 精品亚洲一区二区| 亲子乱av一区二区三区| 欧美激情一区二区三区成人| 日本精品一区二区三区四区| 国产色综合一区二区三区| 国产一区二区好的精华液| 精品久久久久中文字幕一区| 亚洲av成人一区二区三区| 白丝爆浆18禁一区二区三区 | 国产一区二区精品| 日韩一区二区三区在线| 亚洲一区影音先锋色资源| 一区二区三区日本视频| 亚洲熟女综合一区二区三区| 夜夜添无码一区二区三区| 日韩精品无码Av一区二区| 怡红院一区二区三区| 国产乱码一区二区三区| 麻豆一区二区在我观看| 日韩亚洲AV无码一区二区不卡| 国产福利电影一区二区三区久久久久成人精品综合 | 在线一区二区观看| 国产精品亚洲一区二区在线观看 | 国产福利精品一区二区| asmr国产一区在线| 欧洲精品无码一区二区三区在线播放| 麻豆AV天堂一区二区香蕉| 在线观看日韩一区| 日韩一区二区三区在线精品| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 丝袜美腿一区二区三区| 国产精品乱码一区二区三| 午夜一区二区在线观看|