2014年3月3日星期一

哀悼昆明事件,本博客将黑白展示一天

事件追踪

折叠 新窗口打开

博客灰度效果实现技术

使用grayscale.js

项目网站:http://james.padolsey.com/javascript/grayscaling-in-non-ie-browsers/
Demo:http://james.padolsey.com/demos/grayscale/

动态配置

为了博客能够定时切换灰度效果和彩色效果,做了一个能够根据配置和时间切换的脚本。

切换脚本

function checkDateList(){

    function parseDateLstItem(d_str){
        return $.extend(['*','*','*','*','*','*'],d_str.split(/[-:\sT./]+/));
    }

    function parseDateObject(){
        var date = new Date();
        var d_str = date.toISOString();
        return parseDateLstItem(d_str);
    }

    var date = parseDateObject();
    for(var i in Lyc.DateList){
        var pattern = parseDateLstItem(Lyc.DateList[i]);

        for(var j=0;j<6;j++){
            if(pattern[j] == "*") continue;
            if(parseInt(pattern[j],10) != parseInt(date[j],10)) break; //parseInt最好指定基数,否则在ie中遇到0开头的数字会当作八进制转换
        }
        if(j == 6){
            $.getScript("http://james.padolsey.com/demos/grayscale/grayscale.js",function(){
                grayscale(document.body);
            });
            break;
        }
    }
}

配置代码

Lyc = {
    DateList: [
        "2014-3-3",
        "*-5-12",
    ],
}

配置格式说明

  • 时间表示方式顺序按ISO方式表示。

    2014-03-03 06:06:22

  • 分隔符可以使用- . : T / 和空格。

  • *代表通配符,代指一切时间。
  • 时间可以向后缺省,最多表示到秒。

@LYC
转载请注明出处

0 评论:

发表评论