分类目录归档:Javascript

使用NodeJS采集老黄历网(使用http按顺序采集)

使用NodeJS采集老黄历网,将网页保存到本地,使用了http。

因为目标网站是gbk编码,需要单独安装iconv-lite进行转换。

因为http.get是异步的,流程控制使用了之前写的PromiseDemo(http://www.miaoqiyuan.cn/p/promise),采集完一个才继续采集下一个。

日期返回使用了前几天下的date.js(http://www.miaoqiyuan.cn/p/date-range)

废话少说,直接上代码: 继续阅读

用JS 重新造了个轮子,农历计算脚本,有详细的注释

工作中有时需要农历计算,之前从网上找了个JS版本的(摘自wannianli.htm,网上导出都是),直接调用就可以了,非常方便。有优点就有缺点,该版本文件有点大(20KB以上);有很多代码用不到;代码注释不够直白;理解其原理有点麻烦。

之前用过多次,对原理也不是很清楚,最近项目需要,重新造了一遍轮子。包含源码注释的文件控制在7KB以内,压缩后再3KB以内。 继续阅读

Promise的简单实现

ES6 原生提供了 Promise 对象,大大简化了 callback 的代码维护难度。使用promise对象之后可以使用一种链式调用的方式来组织代码;让代码更加的直观。

如果想在老浏览器中使用 Promise,需要使用第三方库。实际实现远离并不复杂,仅需要十几行代码,就能实现类似的效果(实际还是有点区别的)。

代码如下: 继续阅读

巧用 Bootstrap的 popover插件 实现表单校验提示

最近的项目,用Bootstrap比较多。浏览Bootstrap文档,发现 popover 插件特别适合做表单校验出错的提示。

因为使的非常频繁,最近把它封住下,做成 jQuery的插件。 通过 本插件,在 html标签中 定义好 data-vaild=”校验正则” data-errmsg=”错误信息即可”。为什么 要把 校验规则 写到 html 标签中呢?因为 我还用它做了 后台 的校验规则(后台没用Node,现在用的ASP,忙完专门再发文写下原理)。演示地址:http://www.miaoqiyuan.cn/products/vaild/index.html 继续阅读

angular.js 分页代码

之前写过多个分页程序,有ASP版本的,PHP版本的。现在在学习angular,使用angularjs 分页,基于 directive 实现,样式使用的 bootstrap,直接在 html代码中加入 标签即可调用。
完美的ASP分页脚本(http://www.miaoqiyuan.cn/p/asp-pageination)
PHP分页(页码)函数(http://www.miaoqiyuan.cn/p/php-yema-fenye)
分享两个ASP分页(页码)函数(http://www.miaoqiyuan.cn/p/asp-yema-fenye) 继续阅读