原创 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