原创 canvas - 圓形進度
<!DOCTYPE html> <html lang="zh-cmn-Hans" id="_hl"> <head> <meta charset="UTF-8"> <meta name="viewport" content="widt
原创 jQ - jquery.eraser.js
(function($){var methods={init:function(options){return this.each(function(){var $this=$(this),data=$this.data('eraser
原创 jQ - 刮刮卡
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> img { display:
原创 js - contentEditable
document.body.contentEditable = true; // 讓頁面可編輯 在搜索框中輸入以下內容, 可讓頁面變成簡易編譯器 data:text/html, <html contenteditable> 如
原创 js - 重繪與迴流
DOM樹和樣式結構體 (瀏覽器所能識別的所有樣式) 構建組成渲染樹 (render tree) 來完成繪製頁面 當渲染樹的一部分發生改變, 若只引起頁面的非佈局外觀 (如背景等) 發生改變時, 那這就是一次頁面重繪(repaint) 若
原创 vue/cli - (1) 開始
// 安裝最新vue/cli npm i -g @vue/cli // 安裝指定版本 npm i -g @vue/[email protected] // cd 項目位置 // apps 項目名, 不能含大寫字母 vue create apps
原创 jQ - Cdom
/* * dom操作 * Cdom('li').addClass('a', 'b').css('color', 'red').removeClass('a', 'b'); */ Cdom = (() => { _dom = funct
原创 vue - ECharts
安裝 npm install echarts --save App.vue <template> <div> <figure class="css-echarts" id="echarts_bar"></figure>
原创 js - AMD 與 CMD
AMD 異步加載模塊 require(['a', 'b'], foo => { // a.js, b.js 作爲依賴文件, 加載好本身就執行 // 然後再處理回調 }); CMD 異步加載模塊, 在模塊中按需加載和執行 //
原创 js - Number
2.11 * 3.11 = 6.562099999999999; // 取整 parseInt(2.11 * 3.11) // 6 (把數字或字符串轉換成保留整數位的數字) ~~(2.11 * 3.11) // 6 2.1
原创 js - String
檢索字符串出現的位置 'aba'.indexOf('a'); // 0, 從前面檢索'a'開始出現的位置 'aba'.lastIndexOf('a'); // 2, 從後面檢索'a'開始出現的位置 檢索匹配的字符串 'aba'.m
原创 js - XSS與CSRF
XSS, 跨站腳本攻擊 (Cross Site Scripting, 避免與CSS混淆) 設置HttpOnly, 使js無法讀取cookie 對提交內容進行驗證, 防止注入敏感信息 cookie和其它驗證綁定, 避免cookie泄露的危險
原创 css - float
水平漂浮, 空間不足則換行 其前元素不受影響 其後元素將圍繞它並重新排列 清浮動 clear, 清除該元素側邊的浮動影響 避免沒設置高度的容器塌陷 最後的塊元素設置clear, 如br, :after (IE6兼容參考 css -
原创 css - 盒子模型
盒子模型的定義 由margin, padding, border, width, height及內容構成佈局區域 盒子的寬高設定 標準的盒子大小, 由padding, border, width, height決定寬高 在開發中, 常
原创 Prt ScSysRq
截屏 按鍵盤右上角的 Prt ScSysRq 選擇區域 CTR + SHIFT + S 截取 當前窗口 ALT + Prt ScSysRq 保存至 C:\Users\Administrator\Pictures\Screenshots W