0%

今天开发一个功能遇到一个需求,在页面 A 点击查看详情后在页面 B 进行审核,审核后页面 B 关闭,然后刷新页面 A 的数据。思路大概就是:

使用 webSocket 进行通讯

但是这样,工作量是巨大的,而且还需要后端支持。太麻烦了,对于我这种懒人来说,直接就放弃了。

写个定时器,不断检查 Cookies 的变化

然后在stackoverflow看到一个方案,大致思路是:

  1. 在页面A设置一个使用 setInterval 定时器不断刷新,检查 Cookies 的值是否发生变化,如果变化就进行刷新的操作。
  2. 由于 Cookies 是在同域可读的,所以在页面 B 审核的时候改变 Cookies 的值,页面 A 自然是可以拿到的。
    这样做确实可以实现我想要的功能,但是这样的方法相当浪费资源。虽然在这个性能过盛的时代,浪费不浪费也感觉不出来,但是这种实现方案,确实不够优(zhāng)雅(bī)。

    阅读全文 »

涟漪按钮:顾名思义,就是点击按钮的时候,有一个圆圈扩散开来,就像水面的涟漪。效果如下:

看上去非常简单的效果,就是点击的时候一个圆圈从小变大,于此同时透明度从半透明变为透明。
常见的方式是使用javascript

  1. 监听鼠标的点击事件,当点击按钮的时候,追加一个圆形的dom
  2. 改变dom的大小,直至完全覆盖按钮
  3. 移除按钮
阅读全文 »

核心概念

  • Action 是一个用来描述应用的 state 的普通 JavaScript 对象。(可以理解为处理前的状态)
  • Reducer 是为了把 actionstate串起来(即通过处理 action 返回一个 state),而开发的一些函数。它只是一个接收 state 和 一个action,并返回新的 state 的函数
阅读全文 »

简介

Module模式是JavaScript编程中一个非常通用的模式,一般情况下,大家都知道基本用法,本文尝试着给大家更多该模式的高级使用方式。

首先我们来看看Module模式的基本特征:

  1. 模块化,可重用
  2. 封装了变量和function,和全局的namaspace不接触,解耦合
  3. 只暴露可用public的方法,其它私有方法全部隐藏

关于Module模式,最早是由YUI的成员Eric Miraglia在4年前提出了这个概念,我们将从一个简单的例子来解释一下基本的用法(如果你已经非常熟悉了,请忽略这一节)。

阅读全文 »