网站中人性化提示信息的JavaScript实现

Web2.0讲究的是大众的参与精神,不管是博客、群组,还是wiki百科和rss聚合的成功都体现了这一点。然而要大众参与进来,实用性、个性化和人性化就显得特别重要。一直说sohu博客做得比较人性化,其中有一点大家都能感觉到,就是登陆后帐号旁边的提示信息,可以根据时间随机的显示不同的提示信息。

其实这种功能实现的方式有很多,可以用asp,php这样的后台脚本来写,也可以用Javascript在前台来实现,这里我主要是分析了一下sohu的实现方式。

<Script language="JavaScript">

//定义提示信息数组,c为通用的信息,就是每天什么时候都适合显示的信息。m为早上显示的信息,

//a为上午显示的信息,n对应中午,p对应下午,d为傍晚,e为晚上,l则对应晚上9-12点,w对应深夜。

var w = {
 c: [ '嘿咻嘿咻~', '多运动少生病', '-_-!', '欢迎来地球~', '股票又涨了~' ],
 m: ['早上好', '天亮了', '新的一天', '小鸟在歌唱~', '记得吃早点', '又堵车了:('],
 a: ['上午好', '好忙', '忙么?', '喝杯咖啡', '休息一下', '抓紧时间', ],
 n: ['中午好', '午饭时间',  '午饭要吃饱', '还不去吃饭?', '休息,休息一会儿'],
 p: ['下午好', '屋里好热~', '工作完成了?', '提高工作效率', '#_#有些困'],
 d: ['傍晚好', '又堵车了:(', '还不下班?', '吃些什么?', '一会儿去买菜',回家家找妈妈'],
 e: ['晚上好', '吃些什么?', '晚上去跑步', '鱼香肉丝里面是没有鱼的', '各回各家,各找各妈'],
 l: ['夜里好', '还没睡?', '今夜星光灿烂~', '还在工作么?'],
 w: ['睡吧,明天还上班~', '你不是一个人在战斗!', '长夜漫漫无心睡眠', '醒醒~~醒醒~'],
 k: ['周末好',  '周末^o^睡个懒觉', '给家里打个电话吧', '该出去晒太阳了', '约朋友去打球']
};

//根据不同的时间,显示对应的提示信息。
function gw() {
 var t = new Date()
 var h = t.getHours();   //获取当前的小时
 var d = t.getDay();     //获取当前的礼拜
 var l = w.c;            //通用的信息
 if ( h>=6 && h<9 ) {l = l.concat(w.m);}  //6-9点显示通用的和早上的提示信息
 if ( h>=9 && h<12 ) {l = l.concat(w.a);} //9-12点显示通用的和上午的提示信息
 if ( h>=12 && h<14 ) {l = l.concat(w.n);}
 if ( h>=14 && h<17 ) {l = l.concat(w.p);}
 if ( h>=17 && h<19 ) {l = l.concat(w.d);}
 if ( h>=19 && h<21 ) {l = l.concat(w.e);}
 if ( h>=21 && h<24 ) {l = l.concat(w.l);}
 if ( h>=0 && h<6 ) {l = l.concat(w.w);}
 if (d == 0 || d == 6) { l = l.concat(w.k);} //如果是周末,则可以显示适合周末的问候语
 var n = Math.round(Math.random()*l.length); //Math.random()*l.length根据问候语的个数产生一个0到其个数的数字,Math.round()函数是用来取整的。
 if (n == 0){n = 1;}如果n为0,则设置为1,因为返回的值为n-1
 return(l[n-1]);
}

</Script>

这样在界面中用html把gw函数生成的值显示出来就可以了。

posted @ 2007-05-30 20:37  爱生活,爱编程  阅读(358)  评论(0编辑  收藏  举报