分类目录归档:Javascript

原创的jQuery插件:jQueryValidateQY(基本功能已经完成)

最近的项目(手机站),需要实现个前端校验功能,比如大名鼎鼎的 jQuery.validate 插件,太过基础,不能满足现在的需求。另外一点就是 想前后端共用校验规则。

尝试自己写了一个,基于 jQuery,实现了:

1、无论成功或者失败,输入框自动变色(失败为红色,成功为绿色)
2、如果输入出错,自动弹出错误提示层
3、错误、正确的样式,可以通 继续阅读

让IE8和IE9支持 placeholder,原创

最近的项目使用了 主要针对移动端客户,大胆 的使用了 html5 ,到发布的时候,领导有让支持ie8,瞬间头炸掉了。不过有 html5shiv.min.js、respond.min.js,IE8下勉强也可以使用了。

剩下的问题,就是 placeholder 的问题了(这次设计的比较激进,直接取消掉了 input 的输入说明,用placeholder代替)。百度搜索一番,还没有好的改造方法(需要设计程序改动)。

抽了一下午的时间,编写了 placeholder.js,实际实现起来不是很难。

为了便于移植,没有依赖任何框架(比如Jquery),可以直接 Git@OSC去拿。

在IE8中的显示效果:
继续阅读

angularjs的数组传参方式的简单实现

初学 angularjs时,对 数组传参方式感到很好奇([‘a’, ‘b’, function(a,b){}]),它到底怎么实现的呢?后来由于工作很忙,对这个问题也就慢慢忘记了。

今天闲来无事,有想到了这个问题。最简单的方法就是查看他的源代码。无奈本人E文不好,不说看他的设计逻辑,仅看英文注释就够我头疼了。尝试闭门造车,最终竟然把车造出来了。

既然自己造的车,就要带上自己的名(取姓名拼音第一个字母),就叫他mqyJs把,下面是演示的调用方法:

var app2 = mqyJs.applicationCreate([{ name: '直接传入SCOPE' }, '$hello', '$world', function($scope, $hello, $world) {
    return $scope.name + ": " + $hello.name + $world.name;
}]);

核心部分如下: 继续阅读

通过 UserAgent 判断是否在我们自己的安卓APP中

之前 写过一篇 根据 UserAgent 判断网页是在浏览器、或在微信、或在APP中 (http://www.miaoqiyuan.cn/p/useragent-in-where),那篇文章能通过 UserAgent 判断出 是否在微信、浏览器或者其他APP中,如果需要判断是否在我们自己开发的APP中,就无能为力了。

WebView 提供了 setUserAgentString,可以任意修改 UserAgent。我们只需要在 UserAgent 中增加 自定义的 字符串,就可以在网页中通过JS判断是否在我们自己的APP内。

MainActivity.java 的代码如下: 继续阅读

使用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)

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