原创 前端骨架屏實踐

前端骨架屏的實踐: 在衆多的前端開發產品中,對於loadding的致敬是非常多的,今天討論下骨架屏(Skeleton Screen)實現的幾種方式以及實例。 一、 gif動畫形式 在pc端這種菊花圖已經佔領很大市場了,具體的應用

原创 JS中函數深入理解

本文對於函數做一個深入淺出的分析: 一 函數作爲返回值的運用 在前端時間,掘金社區一直在講函數式編程,個人感覺好像掌握函數式編程的人都是武林中的絕頂高手,但是真的這麼難嗎?這裏有一遍關於函數式編程的文章函數式編程入門教程<阮一峯>

原创 雜談: this指向問題

this指向在前端的代碼裏,是最常見的運用技巧,那麼搞清this指向,也就就能梳理更清晰的邏輯,避免bug的產生. 一 this指向大全 1. 全局的this指向window 2. 函數內部的this指向window 3. 對象裏

原创 quill-editor實現自定義按鈕,上傳圖片到服務器,獲取文本內容並展示

quill-editor是一款非常強大的富文本組件,在最近的項目裏也是使用到了,附上:插件源碼 使用也是非常簡單: 一.下載Vue-Quill-Editor npm install vue-quill-editor --save

原创 IntersectionObserver的實踐

在小程序裏面提供了createIntersectionObserver來實現監聽目標元素與視窗的位置變化 wx.createIntersectionObserver(Object component, Object options

原创 VUE中$set與$nextTick的使用

在VUE的使用中,可能很多開發者都遇到過當改變了數據的時候,視圖並沒有產生變化,這時就需要用到這兩種API來解決了 首先,我們先總結下那些情況下會遇到視圖不更新的情況: 爲對象新增一個屬性 改變數組的長度,交換數組的順序,

原创 javaScript中的call()、apply()、bind()的用法終於理解

其實是一個很簡單的東西,認真看十分鐘就從一臉懵B 到完全 理解! 先看明白下面: 例1 obj.objAge; //17 obj.myFun() //小張年齡undefined 例2 shows() //盲僧  比較一

原创 VUE組件通信深入一:八大常用通信方式

在理解VUE組件傳值深入之前,我們必須理解基礎的VUE傳值的方式:這裏有一篇文章介紹VUE傳值的方式 現在VUE的傳值的主要方式有: props down 與 event up傳值(props下發event上傳) provide

原创 前端本地儲存的二次封裝

一. sessionStorage的封裝 const PREFIX = 'cache_'; class Store { constructor(device) { this.store = device;

原创 Vue用Rem實現自適應佈局

一 什麼是rem rem(font size of the root element)是指相對於根元素的字體大小的單位。簡單的說它就是一個相對單位。看到rem大家一定會想起em單位,em(font size of the elem

原创 頁面元素全屏以及退出全屏的方法

一. 頁面元素全屏 function requestFullScreen(elem) { // 兼容不同的瀏覽器 var requestMethod = elem.requestFullScreen || elem

原创 前端實現頁面水印

前端實現頁面水印的思路,先將名稱畫到canvas上,再將canvas生成base64圖片格式作爲盒子的背景圖追加到頁面上,其中利用pointer-events: none屬性實現點擊穿透. const watermark = {}

原创 前端實現複製功能

由於clipboard.js功能複雜,且體量過大.本文將在其基礎上刪減部分代碼實現更小,更快的賦值功能 // 改寫的Clipboard.js代碼(更快更簡潔更小) class ClipboardAction { /**

原创 判斷地圖上的點是否在區域內的方法

// 地圖的工具類(使用平臺,小程序,h5,pc等) const EARTHRADIUS = 6370996.81; const mapUtils = (function() { const GeoUtils = func

原创 js實現下載excel

excel是常見的表格處理工具,那麼前端怎麼實現excel生成與下載呢?我們利用xlsx.js來實現 一. 安裝js-xlsx npm install xlsx 二. 文檔簡介 完成的XLSX對象: 需要理解的術語: 1 wo