Giter Club home page Giter Club logo

libin_blog's Introduction

小程序历史栈最多只支持10层
当小程序业务比较复杂时,就很容易超过10层。
当超过10层后,有的机型是点击无反应,有的机型会出现一些未知错误

移动端关闭虚拟键盘

document.activeElement.blur();

正则表达式匹配版本

"Mozilla/5.0 (Linux; Android 6.0.1; MI NOTE LTE Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 Mobile Safari/537.36 Weibo (Xiaomi-MI NOTE LTE__weibo__8.5.3__android__android6.0.1)".match(/(__weibo__)([\d.]*)(__android|__iphone)/)[2]
"8.5.3"
// 解决键盘弹出后挡表单的问题
    window.addEventListener('resize', function() {
      if(
        document.activeElement.tagName === 'INPUT' ||
        document.activeElement.tagName === 'TEXTAREA'
      ) {
        window.setTimeout(function() {
          if('scrollIntoView' in document.activeElement) {
            document.activeElement.scrollIntoView();
          } else {
            document.activeElement.scrollIntoViewIfNeeded();
          }
        }, 0);
      }
    });

转载自: 5bf1afb1-6eb7-45f1-a3e7-8e7f515601fe

个人分享--web前端学习资源分享 - 掘金

小技巧|移动端网页调试神器Eruda使用技巧

浏览器中的图像识别 API

一起来聊聊table组件的固定列 - 掘金

使用mongo-express/adminMongo通过WEB管理MongoDB(可视化)

小技巧|H5禁止手机虚拟键盘弹出

用css让一个容器水平垂直居中 - 最*的就是你 - 博客园

你不知道的CSS(一)

你不知道的CSS(二)

你不知道的CSS(三)

你以为 CSS3 只是个简单的布局?

实现div毛玻璃背景 - 掘金

CSS常见布局解决方案 - 王郝 - 博客园

CSS经典布局之Sticky footer布局【绝对底部】

HTML 文档之 Head 最佳实践

CSS预加载:

关于Preload, 你应该知道些什么?

现代浏览器性能优化-CSS篇 - 掘金

[译]Preload,Prefetch 和它们在 Chrome 之中的优先级

使用 CSS 追踪用户 - 掘金

前端性能优化之缓存技术 - 掘金

怎麽把"滚动条"隐藏? - 掘金

EasyWebpack 【干货】

webpack 【扫盲】

前端学习之路 【干货】

HTTP协议详解 【基础】

图片上传进阶【跨域】

H5玩法知多少 【扫盲】

vue-vscode-snippets 【干货】

Grid布局学习 【干货】

面试

var head = document.getElementsByTagName('head')[0] || document.body;

function loadJsModule(url) {
    var script = document.createElement('script');
    script.charset = 'utf-8';
    script.type = 'text/javascript';
    script.onload = script.onreadystatechange = function() {
        if (!this.readyState || this.readyState === 'loaded' || this.readyState === 'complete') {
            /*
             * 加载逻辑, callback为define的回调函数, args为所有依赖模块的数组
             * callback.apply(window, args);
             */
            script.onload = script.onreadystatechange = null;
        }  
    };
}

Javascript 黑科技 【4星级】

你不知道的CSS 【干货】

你不知道的JS 【扫盲】

浮动两端对齐 【扫盲】

周末读fastclick.js源码有感 在touchend合成一个事件立即触发解决300ms问题

fastclick是将事件绑定到你传的元素(一般是document.body)
② 在touchstart和touchend后(会手动获取当前点击el),如果是类click事件便手动触发了dom元素的click事件
所以click事件在touchend便被触发,整个响应速度就起来了,触发实际与zepto tap一样
既然浏览器有这300ms的延迟,那么我们来代替浏览器判断,手动触发click事件,这也是fastClick的解决方案。

// 自定义事件
var eve = new Event('自定义事件名');
el.addEventListener('自定义事件名', function(){
    console.log('自定义事件')
});
el.dispatchEvent(eve);
//

fastClick的核心代码

FastClick.prototype.onTouchEnd = function(event){

  // 一些状态监测代码 

  // 从这里开始,
  if (!this.needsClick(targetElement)) {
    // 如果这不是一个需要使用原生click的元素,则屏蔽原生事件,避免触发两次click
    event.preventDefault(); 
    // 触发一次模拟的click
    this.sendClick(targetElement, event);
  }
}
这里可以看到,FastClick在touchEnd的时候,在符合条件的情况下,主动触发了click事件,这样避免了浏览器默认的300毫秒等待判断。为了防止原生的click被触发,这里还通过event.preventDefault()屏蔽了原生的click事件。

我们来看看他是怎么模拟click事件的

FastClick.prototype.sendClick = function(targetElement, event) {

  // 这里是一些状态检查逻辑

  // 创建一个鼠标事件
  clickEvent = document.createEvent('MouseEvents');
  // 初始化鼠标事件为click事件
  clickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);

  // fastclick的内部变量,用来识别click事件是原生还是模拟
  clickEvent.forwardedTouchEvent = true;

  // 在目标元素上触发该鼠标事件,
  targetElement.dispatchEvent(clickEvent);
我们在网上搜索fastClick,大部分都在说他解决了zepto的点击穿透问题,他是怎么解决的呢?就是上面最后一句,他模拟的click事件是在touchEnd获取的真实元素上触发的,而不是通过坐标计算出来的元素。

网易前端面经 【干货】

【当margin/padding取形式为百分比的值时,无论是left/right,还是top/bottom,都是以父元素的width为参照物的!】

React:

Boss-UI 【干货】

React技术内幕 【干货】

Vue:

AT-UI 【干货】

Webpack

Grid布局学习 【干货】

面试

Javascript 黑科技 【4星级】

你不知道的CSS 【干货】

你不知道的JS 【扫盲】

浮动两端对齐 【扫盲】

周末读fastclick.js源码有感 在touchend合成一个事件立即触发解决300ms问题

fastclick是将事件绑定到你传的元素(一般是document.body)
② 在touchstart和touchend后(会手动获取当前点击el),如果是类click事件便手动触发了dom元素的click事件
所以click事件在touchend便被触发,整个响应速度就起来了,触发实际与zepto tap一样
既然浏览器有这300ms的延迟,那么我们来代替浏览器判断,手动触发click事件,这也是fastClick的解决方案。

// 自定义事件
var eve = new Event('自定义事件名');
el.addEventListener('自定义事件名', function(){
    console.log('自定义事件')
});
el.dispatchEvent(eve);
//

fastClick的核心代码

FastClick.prototype.onTouchEnd = function(event){

  // 一些状态监测代码 

  // 从这里开始,
  if (!this.needsClick(targetElement)) {
    // 如果这不是一个需要使用原生click的元素,则屏蔽原生事件,避免触发两次click
    event.preventDefault(); 
    // 触发一次模拟的click
    this.sendClick(targetElement, event);
  }
}
这里可以看到,FastClick在touchEnd的时候,在符合条件的情况下,主动触发了click事件,这样避免了浏览器默认的300毫秒等待判断。为了防止原生的click被触发,这里还通过event.preventDefault()屏蔽了原生的click事件。

我们来看看他是怎么模拟click事件的

FastClick.prototype.sendClick = function(targetElement, event) {

  // 这里是一些状态检查逻辑

  // 创建一个鼠标事件
  clickEvent = document.createEvent('MouseEvents');
  // 初始化鼠标事件为click事件
  clickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);

  // fastclick的内部变量,用来识别click事件是原生还是模拟
  clickEvent.forwardedTouchEvent = true;

  // 在目标元素上触发该鼠标事件,
  targetElement.dispatchEvent(clickEvent);
我们在网上搜索fastClick,大部分都在说他解决了zepto的点击穿透问题,他是怎么解决的呢?就是上面最后一句,他模拟的click事件是在touchEnd获取的真实元素上触发的,而不是通过坐标计算出来的元素。

网易前端面经 【干货】

【当margin/padding取形式为百分比的值时,无论是left/right,还是top/bottom,都是以父元素的width为参照物的!】

React:

Boss-UI 【干货】

React技术内幕 【干货】

Vue:

AT-UI 【干货】

Webpack

67 个拯救前端开发者的工具、库和资源BFC和 websocket

Grid布局学习 【干货】

面试

Javascript 黑科技 【4星级】

你不知道的CSS 【干货】

你不知道的JS 【扫盲】

浮动两端对齐 【扫盲】

周末读fastclick.js源码有感 在touchend合成一个事件立即触发解决300ms问题

fastclick是将事件绑定到你传的元素(一般是document.body)
② 在touchstart和touchend后(会手动获取当前点击el),如果是类click事件便手动触发了dom元素的click事件
所以click事件在touchend便被触发,整个响应速度就起来了,触发实际与zepto tap一样
既然浏览器有这300ms的延迟,那么我们来代替浏览器判断,手动触发click事件,这也是fastClick的解决方案。

// 自定义事件
var eve = new Event('自定义事件名');
el.addEventListener('自定义事件名', function(){
    console.log('自定义事件')
});
el.dispatchEvent(eve);
//

fastClick的核心代码

FastClick.prototype.onTouchEnd = function(event){

  // 一些状态监测代码 

  // 从这里开始,
  if (!this.needsClick(targetElement)) {
    // 如果这不是一个需要使用原生click的元素,则屏蔽原生事件,避免触发两次click
    event.preventDefault(); 
    // 触发一次模拟的click
    this.sendClick(targetElement, event);
  }
}
这里可以看到,FastClick在touchEnd的时候,在符合条件的情况下,主动触发了click事件,这样避免了浏览器默认的300毫秒等待判断。为了防止原生的click被触发,这里还通过event.preventDefault()屏蔽了原生的click事件。

我们来看看他是怎么模拟click事件的

FastClick.prototype.sendClick = function(targetElement, event) {

  // 这里是一些状态检查逻辑

  // 创建一个鼠标事件
  clickEvent = document.createEvent('MouseEvents');
  // 初始化鼠标事件为click事件
  clickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);

  // fastclick的内部变量,用来识别click事件是原生还是模拟
  clickEvent.forwardedTouchEvent = true;

  // 在目标元素上触发该鼠标事件,
  targetElement.dispatchEvent(clickEvent);
我们在网上搜索fastClick,大部分都在说他解决了zepto的点击穿透问题,他是怎么解决的呢?就是上面最后一句,他模拟的click事件是在touchEnd获取的真实元素上触发的,而不是通过坐标计算出来的元素。

网易前端面经 【干货】

【当margin/padding取形式为百分比的值时,无论是left/right,还是top/bottom,都是以父元素的width为参照物的!】

React:

Boss-UI 【干货】

React技术内幕 【干货】

Vue:

AT-UI 【干货】

Webpack

67 个拯救前端开发者的工具、库和资源BFC和 websocket

Grid布局学习 【干货】

面试

Javascript 黑科技 【4星级】

你不知道的CSS 【干货】

你不知道的JS 【扫盲】

浮动两端对齐 【扫盲】

周末读fastclick.js源码有感 在touchend合成一个事件立即触发解决300ms问题

fastclick是将事件绑定到你传的元素(一般是document.body)
② 在touchstart和touchend后(会手动获取当前点击el),如果是类click事件便手动触发了dom元素的click事件
所以click事件在touchend便被触发,整个响应速度就起来了,触发实际与zepto tap一样
既然浏览器有这300ms的延迟,那么我们来代替浏览器判断,手动触发click事件,这也是fastClick的解决方案。

// 自定义事件
var eve = new Event('自定义事件名');
el.addEventListener('自定义事件名', function(){
    console.log('自定义事件')
});
el.dispatchEvent(eve);
//

fastClick的核心代码

FastClick.prototype.onTouchEnd = function(event){

  // 一些状态监测代码 

  // 从这里开始,
  if (!this.needsClick(targetElement)) {
    // 如果这不是一个需要使用原生click的元素,则屏蔽原生事件,避免触发两次click
    event.preventDefault(); 
    // 触发一次模拟的click
    this.sendClick(targetElement, event);
  }
}
这里可以看到,FastClick在touchEnd的时候,在符合条件的情况下,主动触发了click事件,这样避免了浏览器默认的300毫秒等待判断。为了防止原生的click被触发,这里还通过event.preventDefault()屏蔽了原生的click事件。

我们来看看他是怎么模拟click事件的

FastClick.prototype.sendClick = function(targetElement, event) {

  // 这里是一些状态检查逻辑

  // 创建一个鼠标事件
  clickEvent = document.createEvent('MouseEvents');
  // 初始化鼠标事件为click事件
  clickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);

  // fastclick的内部变量,用来识别click事件是原生还是模拟
  clickEvent.forwardedTouchEvent = true;

  // 在目标元素上触发该鼠标事件,
  targetElement.dispatchEvent(clickEvent);
我们在网上搜索fastClick,大部分都在说他解决了zepto的点击穿透问题,他是怎么解决的呢?就是上面最后一句,他模拟的click事件是在touchEnd获取的真实元素上触发的,而不是通过坐标计算出来的元素。

网易前端面经 【干货】

【当margin/padding取形式为百分比的值时,无论是left/right,还是top/bottom,都是以父元素的width为参照物的!】

React:

Boss-UI 【干货】

React技术内幕 【干货】

Vue:

AT-UI 【干货】

Webpack

Grid布局学习 【干货】

面试

Javascript 黑科技 【4星级】

你不知道的CSS 【干货】

你不知道的JS 【扫盲】

浮动两端对齐 【扫盲】

周末读fastclick.js源码有感 在touchend合成一个事件立即触发解决300ms问题

fastclick是将事件绑定到你传的元素(一般是document.body)
② 在touchstart和touchend后(会手动获取当前点击el),如果是类click事件便手动触发了dom元素的click事件
所以click事件在touchend便被触发,整个响应速度就起来了,触发实际与zepto tap一样
既然浏览器有这300ms的延迟,那么我们来代替浏览器判断,手动触发click事件,这也是fastClick的解决方案。

// 自定义事件
var eve = new Event('自定义事件名');
el.addEventListener('自定义事件名', function(){
    console.log('自定义事件')
});
el.dispatchEvent(eve);
//

fastClick的核心代码

FastClick.prototype.onTouchEnd = function(event){

  // 一些状态监测代码 

  // 从这里开始,
  if (!this.needsClick(targetElement)) {
    // 如果这不是一个需要使用原生click的元素,则屏蔽原生事件,避免触发两次click
    event.preventDefault(); 
    // 触发一次模拟的click
    this.sendClick(targetElement, event);
  }
}
这里可以看到,FastClick在touchEnd的时候,在符合条件的情况下,主动触发了click事件,这样避免了浏览器默认的300毫秒等待判断。为了防止原生的click被触发,这里还通过event.preventDefault()屏蔽了原生的click事件。

我们来看看他是怎么模拟click事件的

FastClick.prototype.sendClick = function(targetElement, event) {

  // 这里是一些状态检查逻辑

  // 创建一个鼠标事件
  clickEvent = document.createEvent('MouseEvents');
  // 初始化鼠标事件为click事件
  clickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);

  // fastclick的内部变量,用来识别click事件是原生还是模拟
  clickEvent.forwardedTouchEvent = true;

  // 在目标元素上触发该鼠标事件,
  targetElement.dispatchEvent(clickEvent);
我们在网上搜索fastClick,大部分都在说他解决了zepto的点击穿透问题,他是怎么解决的呢?就是上面最后一句,他模拟的click事件是在touchEnd获取的真实元素上触发的,而不是通过坐标计算出来的元素。

网易前端面经 【干货】

【当margin/padding取形式为百分比的值时,无论是left/right,还是top/bottom,都是以父元素的width为参照物的!】

React:

Boss-UI 【干货】

React技术内幕 【干货】

Vue:

AT-UI 【干货】

Webpack

Grid布局学习 【干货】

面试

Javascript 黑科技 【4星级】

你不知道的CSS 【干货】

你不知道的JS 【扫盲】

浮动两端对齐 【扫盲】

周末读fastclick.js源码有感 在touchend合成一个事件立即触发解决300ms问题

fastclick是将事件绑定到你传的元素(一般是document.body)
② 在touchstart和touchend后(会手动获取当前点击el),如果是类click事件便手动触发了dom元素的click事件
所以click事件在touchend便被触发,整个响应速度就起来了,触发实际与zepto tap一样
既然浏览器有这300ms的延迟,那么我们来代替浏览器判断,手动触发click事件,这也是fastClick的解决方案。

// 自定义事件
var eve = new Event('自定义事件名');
el.addEventListener('自定义事件名', function(){
    console.log('自定义事件')
});
el.dispatchEvent(eve);
//

fastClick的核心代码

FastClick.prototype.onTouchEnd = function(event){

  // 一些状态监测代码 

  // 从这里开始,
  if (!this.needsClick(targetElement)) {
    // 如果这不是一个需要使用原生click的元素,则屏蔽原生事件,避免触发两次click
    event.preventDefault(); 
    // 触发一次模拟的click
    this.sendClick(targetElement, event);
  }
}
这里可以看到,FastClick在touchEnd的时候,在符合条件的情况下,主动触发了click事件,这样避免了浏览器默认的300毫秒等待判断。为了防止原生的click被触发,这里还通过event.preventDefault()屏蔽了原生的click事件。

我们来看看他是怎么模拟click事件的

FastClick.prototype.sendClick = function(targetElement, event) {

  // 这里是一些状态检查逻辑

  // 创建一个鼠标事件
  clickEvent = document.createEvent('MouseEvents');
  // 初始化鼠标事件为click事件
  clickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);

  // fastclick的内部变量,用来识别click事件是原生还是模拟
  clickEvent.forwardedTouchEvent = true;

  // 在目标元素上触发该鼠标事件,
  targetElement.dispatchEvent(clickEvent);
我们在网上搜索fastClick,大部分都在说他解决了zepto的点击穿透问题,他是怎么解决的呢?就是上面最后一句,他模拟的click事件是在touchEnd获取的真实元素上触发的,而不是通过坐标计算出来的元素。

网易前端面经 【干货】

【当margin/padding取形式为百分比的值时,无论是left/right,还是top/bottom,都是以父元素的width为参照物的!】

React:

Boss-UI 【干货】

React技术内幕 【干货】

Vue:

AT-UI 【干货】

JavaScript 实用技巧和写法建议 【函数节流】

网页性能分析不完全指南 - 掘金【*****】

JavaScript权威面试指南【*****】

处理JavaScript异常的正确姿势 - 掘金

空对象动态添加属性(面试常考)返回JSON,曾经惨败的一道面试题 - 黄沙百战穿金甲,不破楼兰终不还。 - CSDN博客

-webkit-overflow-scrolling:touch属性副作用--QQ内置浏览器空白处理 - 掘金

web app 无限加载终极解决方案【better-scroll】

vue变化侦测原理

看完离编写高性能的JavaScript又近了一步 - 掘金【*****】

JSONP的P是什么?

【小程序踩坑】 扫普通二维码调起小程序bug:码地址传递错误,传为历史地址

Vue博客

渐进式Express学习课程

基于Vue的组织架构树组件 - 掘金

vue-cli打包后的思索--代码优化【****】

JavaScript设计模式之面向对象编程 【继承】 - 掘金

手写一个自己的 JavaScript Promise 类库

手摸手,带你优雅的使用 icon

Promise 与 Confirm 提示框

你可能不知道的14个JavaScript调试技巧 - WEB前端开发 - 专注前端开发,关注用户体验

js判断是移动端设备还是pc端设备代码-javascript教程-懒人建站

个人总结(css3新特性) - 掘金【***】

《前端面试江湖》读书笔记 - 掘金

为你的网站带上帽子 - 使用 helmet 保护 Express 应用

Nuxt.js服务端渲染实践,从开发到部署 - 掘金

NodeJS学习笔记

个人博客开发系列:Vue.js + Koa.js项目中使用JWT认证

React 整洁代码最佳实践 - 掘金

简单实现 3D 相册

transform 的副作用 - 掘金

用workbox 加速amp、pwa 访问 教程步骤精简

iOS 下实现 webview 标题修改

Web 性能优化 - TCP

Web自适应布局你需要知道的所有事儿 - 掘金

JavaScript 工作原理:内存管理 + 处理常见的4种内存泄漏

定时任务高效触发 - CSDN博客

CSS float相关详解 - 掘金

编写自己的代码库(css3常用动画的实现) - 掘金

微信小程序开发完工+问题汇总 - 掘金

基于Vue的组织架构树组件 - 掘金

基于 Electron 的前端文件处理工具

人类身份验证 - SegmentFault

前端不止:Retina屏幕下两倍图 - ThoughtWorks洞见

讲真,理解 HTTPS 这一篇就够了

九个问题从入门到熟悉HTTPS - 掘金

从 HTTP 到 HTTPS 再到 HSTS

基于element-ui实现table可配置化 - 掘金

scrollIntoView 与 scrollIntoViewIfNeeded API 介绍【解决移动端遮挡问题】

原来 CSS 与 JS 是这样阻塞 DOM 解析和渲染的

JS如何判断一个对象为空 - CSDN博客

JavaScript 数组遍历方法的对比

移动端-布局攻略

给一个元素同时绑定click和dbclick存在的问题

HTML5 录音的踩坑之旅

【quickhybrid】H5和Native交互JSBridge原理 - 掘金

JavaScript:(a==1 && a==2 && a==3)能输出ture么?

JS必知必会

JavaScript中prompt()函数的用法。 - 《》 - 博客园

如何绕过面试题中的小坑 | 百度EUX

[译] 如何取消你的 Promise?

从 lodash.merge 不能触发 Vue 自动更新说开去

Rxjs观察者模式在 Javascript 中的应用

移动端如何强制页面横屏

创建炫酷 CSS 背景效果的 10 个代码片段【渐变动画,背景渐变】

JavaScript设计模式之创建型设计模式 - 掘金

打造一个优雅的微信文章编辑器 - 掘金

DOMContentLoaded、readystatechange、load、ready详谈 - 掘金

javascript打怪升级--把业务逻辑当练习题做 - 掘金

用canvas绘制一个曲线动画--深入理解贝塞尔曲线 - 掘金

开发一个本地上传图片控件你需要知道的知识点 - 掘金

性能监控:

Chrome DevTools - 性能监控

搭建一个前端监控系统,不再错过BUG - 掘金

网站性能优化--DNS预热与合并HTTP请求 - 掘金

前端性能优化之性能测试 - 掘金

VasSonic:手Q开源Hybrid框架介绍

vue-cli之webpack3构建全面提速优化 - 掘金

面试:

跨域之由Request Method:OPTIONS初窥CORS

快速理解JavaScript中call和apply原理 - 掘金

利用FormData对象实现AJAX文件上传功能及后端实现 - 掘金

很全很全的JavaScript的模块讲解

怎样做一个圆环放大的动画

傻傻的分也分不清楚的property和attribute

前端模块化,AMD与CMD的区别 - 掘金

lvzhenbang/article

json与jsonp区别浅析(json才是目的,jsonp只是手段) - DOM哥 - 博客园

es6 Generators详解

手把手教你如何实现 《前端异常监控系统》

JSONP的原理与实现以及XSS,CSRF的相亲相爱

CSS:

CSS常用Mixin封装 - 掘金

我脑中飘来飘去的css魔幻属性 - 掘金

[翻译] 理解 CSS 布局和块级格式上下文

水墨寒的博客 你不知道的CSS

深入理解 CSS:字体度量、line-height 和 vertical-align

CSS自定义属性:坚定地使用 CSS Custom Properties

纯CSS3写一个摇头晃脑的小哥

用CSS来计数 - 掘金

更便捷的css处理方式-PostCSS - 掘金

不可思议的混合模式 background-blend-mode

跨域:

Web调试工具Charles使用心得 - 掘金

PWA:

PWA之Workbox缓存策略分析 - 掘金

[译]介绍一下渐进式 Web App(离线) - Part 1

PWA(Progressive Web App)入门系列:(三)PWA关键技术Manifest

Vue:

VueJs 监听 window.resize 方法

切换Web应用主题色的 (KU)

从Vue.js源码看nextTick机制

MutationObserver 监听DOM树变化

vue+webpack+amaze-vue实现省市区联动选择组件 - 掘金

再也不学AJAX了

Vue SPA 首屏加载优化实践

记一次 Weex 的 iPhone X 适配

「大前端」Weex在达人店的一年实践 - 掘金

Vue源码之旅(2)-nextTick

一步一步分析vue之observe - 掘金

Vue-OrgChart: 可编辑,可导出JSON的树形组织图

使用VUE分分钟写一个验证码输入组件 - 掘金【****】

Vue-Touch-Ripple by surmon-chinavuejs 水波纹框架

Vue响应式原理以及简单实现 - 掘金

我劝你别在数字键盘上刁难我--Vue自定义数字键盘组件 - 掘金

【只发精品】匠心打造Vue侧滑菜单组件 - 掘金

[email protected]源码学习---从hello world学习vue的内部做了什么

解析vue2.0的diff算法 - 掘金

基于weex的考拉移动端动态化方案 - 掘金

React:

一篇文章告诉你React里为什么不能用index作为key - 掘金

【译】React 应用性能调优 - 掘金

写给新人的React快速入门手册 - 掘金

分享一个自己开发的 react拖拽排序组件

React + Canvas 像素风格取色器

React中组件通信的几种方式 - 掘金

react和immutable偶遇的那些事 - 掘金

React全家桶构建一款Web音乐App实战(二):字体图标制作及页面路由搭建 - 掘金

React同构与极致的性能优化

基于react16 webpack3 搭建前端spa基础框架 react-router的4种异步加载方式

redux v3.7.2源码解读与学习之 createStore(核心方法)

关于react我的理解与总结 - 掘金

React源码解析(四):事件系统 - 掘金

谈谈React--componentWillReceiveProps的使用 - 掘金

从0开始实现 react-router

探索Vue高阶组件

从0实现一个tiny react(一)

React Redux 与胖虎他妈

redux源码解析之五部曲(why:对外暴露了5个api)--第一部曲createStore.js - 掘金

Node:

基于node.js的脚手架工具开发经历 - 掘金

Webpack:

import、require、export、module.exports 混合使用详解

ES6和Babel你不知道的事儿

Webpack飞行手册 - 掘金

Webpack3.0小案例躺坑资源处理、服务器启动和打包优化 - 掘金

简单易懂的 webpack 打包后 JS 的运行过程

简单易懂的 webpack 打包后 JS 的运行过程(二)

知多一点 webpack 的 CommonsChunkPlugin【打包优化】

webpack3实战(5)打包一个多页、jQuery、图片转base64、压缩混淆、异步模块加载的项目 - 掘金

Webpack实战-构建同构应用 - 掘金

从 webpack 到全面拥抱 Parcel #1 探索 Parcel

你所不知的Webpack-多种配置方法 - 掘金

React16+Redux+Router4+Koa+Webpack服务器端渲染(按需加载,热更新) - 掘金

Webpack优化-缩小文件搜索范围 - 掘金

跟着Vue-cli来'学'并'改'Webpack之 打包优化

webpack优化不完全指南 - 掘金

工具:

编写自己的代码库(javascript常用实例的实现与封装) - 掘金

css3实现多个元素依次显示 - 掘金

一看就懂的JS抽象语法树 - 掘金

网页内容复制粘贴(三种方案 兼容多种浏览器)

用不到20行代码写一个freestyle外挂后台

你必须知道的HTTP基本概念 - 掘金

Git提交历史的修改删除合并 - 掘金

LESS:

学习Less-看这篇就够了 - 掘金

再谈 CSS 预处理器 | EFE Tech

HTTP:

https://juejin.im/post/5a1d4e546fb9a0450f21af23

小程序:

学习小程序从“你”开始 - 掘金

这个冬天,让腾讯视频带给你温暖 - 掘金

人类身份验证 - SegmentFault

微信小程序的数据绑定与下拉刷新与template模块使用问题

小程序tabBar跳转页面并隐藏tabBar - 掘金

【小程序踩坑系列1】 扫普通二维码调起小程序bug:码地址传递错误,传为历史地址

手把手教你实现微信小程序中的自定义组件 - 掘金

基于盒马鲜生改编的微信小程序 - 掘金

微信小程序仿微信, QQ 向左滑动删除操作。

带你玩转小程序开发实践|含直播回顾视频 - 掘金 【组件通信】

当微信小程序遇上filter~ - 掘金

微信小程序 MinUI 组件库系列之 badge 徽章组件

函数式:

ikcamp/Functional-Light-JS

算法:

你需要知道的算法之基础篇 - 掘金

Async/Await

重构:从Promise到Async/Await | Fundebug博客

好用的 async/await

Promise 必知必会(十道题)

你不知道的 Promise 对象黑科技

async / await 替代Promise?

深入理解ES6 Async Functions (异步函数)

浅析Promise内部实现与原理 - 掘金

深入理解事件循环和异步流程控制 - 掘金

实现一个玩具 Promise ~

ES6 Promise 用法 - CSDN博客

JavaScript异步编程大冒险: Async/Await

canvas:

canvas入门实战--邀请卡生成与下载 - 掘金

Loading:

Single Element CSS Spinners

Your SVG + GIF Ajax Loading Icons

插件:

简易版Swiper是怎么炼成的 - 掘金

libin1991/js-pluggs

轻量级swiper

源码:

读懂源码:一步一步实现一个 Vue

尝试造了个工具类库,名为 Diana 【AMD,CMD】

用ES6实现一个简单易懂的Promise(遵循Promise/A+ 规范并附详解注释)

KOA:

CCtalk 实时互动教育平台-专业的知识分享与在线教育平台

使用nodejs+express完成简单的文件上传功能 - 掘金

基于HTML5陀螺仪实现ofo首页眼睛移动效果 - 文章 - 掘金

GraphQL 搭配 Koa 最佳入门实践

SVG,canvas:

SVG morphing 动画应用大盘点

MAC工具:

新年新起点:从零配置 Mac 前端环境速查

[译文]Chrome63中开发者面板(Devtools)新增功能

Vue源码学习:

youngwind/blog

vue源码学习系列之十一:组件化原理探索(父子组件通信) · Issue #94 · youngwind/blog

2018 我所了解的 Vue 知识大全 (二)

自己动手写一个 SimpleVue

播放器:

从零开始写一个 Web 视频播放器

工具:

利用jsdoc为vue项目生成漂亮的文档 - 掘金

公众号的Markdown排版利器:Md2All - 掘金

面试:

基于JS快速生成各种网格布局工具Grid介绍

CSS Gird 布局 指南 - 掘金

理论联系实际:从零理解WebSocket的通信原理、协议格式、安全性-网页端IM开发/专项技术区 - 即时通讯开发者社区!

display的32种写法

如何继承Date对象?由一道题彻底弄懂JS继承。 - 掘金

用本地运行的demo快速入门跨域

JavaScript从反转数组到链表反转 - 掘金

深入CSS优先级

34 行 JavaScript 代码搞定粒子动画效果

用CSS来制作图标 - 掘金

parcel:

webpack 持久化缓存实践

Webpack原理-编写Plugin - 掘金

Vue尝鲜快速、零配置的打包工具---parcel~ - 掘金

Canvas:

canvas烟花锦集

Native:

React Native 网络层分析

你不知道的javaScript:

跨域之由Request Method:OPTIONS初窥CORS

一起来看 HTML 5.2 中新的原生元素

深入浅出 JavaScript 的Array.prototype.sort 排序算法

1657413883/The-Road-of-FE

可视化拖拽 UI 布局之拖拽篇 - 掘金

快速掌握JavaScript面试基础知识(二) | Fundebug博客

JavaScript tips -- 谈谈数组乱序

Javascript调试命令——你只会Console.log() ?

JavaScript for...in 循环出来的对象属性顺序到底是什么规律?

CSS奇巧淫技:

基于css的优雅的用户跟踪技术

Webpack

libin_blog's People

Contributors

libin1991 avatar

Watchers

James Cloos avatar 斐龙 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.