2016.05 第1周 群問題分享
HTML+CSS
a標籤href屬性的作用
2016.05.02~2016.05.06
核心概念
a標籤href屬性
參考答案
a標籤定義超連結,用於從一個頁面連結到另一個頁面;
a標籤最重要的屬性是href屬性,它指示連結的目標;href屬性裡面的值url,規定連結指向的頁面的url;在HTML5中,a標籤始終是超連結,但是如果未設定href屬性值,則只是超連結的佔位符;如果不跳轉頁面則可以設定成href="javascript:;"或者href="void(0);"。
怎麼在一個頁面中點選圖片跳轉到另一個頁面播放視訊
2016.05.02~2016.05.06
核心概念
a標籤、HTML5視音訊
參考答案
在一個頁面中點選圖片進入到另一個頁面進行播放視訊,只需要a標籤包含一個img標籤,a標籤裡面的href屬性裡面對應的寫上視訊播放地址(頁面)即可。針對視訊播放問題,HTML5可以簡簡單單實現視訊、音訊的播放功能,用一個video標籤足矣。video標籤雖好用,但是其預設樣式在各個瀏覽器的表現形式千奇百怪。
解決辦法可以在HTML5學堂官網搜尋“HTML5視音訊”
<a href="#" target="_self">陳林</a>表示什麼
2016.05.02~2016.05.06
核心概念
a標籤裡面的屬性
參考答案
href="#"表示的是錨鏈接,當你頁面有滾動時,你點連結會跳轉到頁面的頂部;
target值表示的是從哪裡開啟頁面,預設就是從當前視窗開啟,用_self表示(連結的內容顯示在當前視窗中);用_blank表示在新視窗開啟頁面;
如何把ul li的圓點變為小方塊
2016.05.02~2016.05.06
核心概念
list-style-type屬性
參考答案
list-style-type: square;
JavaScript
正則表示式驗證身份證號碼
2016.05.02~2016.05.06
核心概念
正則表示式、身份證號碼生成原理
參考答案
書寫正則表示式之前,需要先了解身份證號碼的基本規則。
/* * 身份證18位編碼規則:dddddd yyyymmdd xxx y * dddddd:6位地區編碼 * yyyymmdd: 出生年(四位年)月日,如:19910215 * xxx:順序編碼,系統產生,無法確定,奇數為男,偶數為女 * y: 校驗碼,該位數值可通過前17位計算獲得 * HTML5學堂出品 http://www.h5course.com 請尊重原創 * 前17位號碼加權因子為 Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ] * 驗證位 Y = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ] * 如果驗證碼恰好是10,為了保證身份證是十八位,那麼第十八位將用X來代替 */
校驗位計算方法:身份證前17位,每一位數字和相應位數的加權因子進行乘法運算,之後求和(17項之和),再用這個和對11取餘,所得的餘數作為“驗證位陣列Y”的下標,也就是Y[餘數],找到“驗證位陣列Y”中的相應數字,如果身份證最後一位和這個數字吻合,則身份證號碼合法(如果最後一位是X/x,就對應於“驗證位陣列Y”中的10這個數字)
例項:
假如是這個身份證號碼(這個身份證號碼是我瞎編的):110203198811120342。
於是,複雜的計算開始了。取出身份證前17位,與[7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]中對應的位分別進行乘法運算,於是乎:
sum = 1 * 7 + 1 * 9 + 0 * 10 + 2 * 5 + ... + 3 * 4 + 4 * 2。
我們能夠計算出來,總和為177。之後用177對11取餘,餘數為1。那麼在[1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2]陣列中,下標為1的元素就是第二個元素,也就是數值為0。此時將0與身份證號的最後一位(2)做比較,很明顯,錯誤,那麼也證明了這個號碼是我瞎編的了……
於是乎,完整匹配身份證號碼的正則華麗麗的誕生了~~~
var reg =/^[1-9]d{5}[1-9]d{3}((0[1-9])|(1[0-2]))((0[1-9])|([1-2]d)|(3[0-1]))((d{4})|(d{3}[Xx]))$/;
相關知識可以在HTML5學堂官網搜尋“正則驗證身份證號碼”
操作符與資料型別
2016.05.02~2016.05.06
核心概念
變數宣告、資料型別、操作符
參考答案
題目:
<script>
var a;
var b = a * 0;
if (b == b) {
console.log(b * 2 + "2" - 0 + 4);
} else {
console.log(!b * 2 + "2" - 0 + 4);
}
</script>
1 聲明瞭變數a,但是未進行賦值,所以a的預設初始值為undefined;
2 var b = a * 0; undefined的數學運算最終結果為NaN;
3 NaN是代表非數字值的特殊值;NaN不等於NaN;NaN在布林值當中是false,所以!NaN在布林值裡面就是true,true轉換成數字就是1;
1 * 2 + '2' --> 此處的+是連字元,構成'22'這個字串;
'22' - 0 --> 此處將'22'從字串轉換為數字22(隱式轉換)。最後就是22 + 4 = 26。
相關知識可以在HTML5學堂官網搜尋“資料型別轉換或者HTML5真題練習”
HTML5學堂小編 - 陳林 耗時5h