1
mkeith 2012-05-18 21:14:38 +08:00
js 可以实现吧,一个页面就行了。
|
2
lackrp 2012-05-18 21:33:30 +08:00 1
var now = new Date();
var weekday = now.getDay(); if (weekday >= 1 && weekday <= 5) { return (weekday * 2 - (now.getHours() < 12 ? 1 : 0)) + '.html'; } else { return 'weekend.html'; } |
3
fanzheng 2012-05-18 21:33:55 +08:00 1
<script type="text/javascript">
document.write("<a href=\""); var day = new Date(); var cur = day.getDay(); document.write(cur); document.write(".html\">linkname</a>"); </script> 把你的链接换成这个,音乐页面的html,如果是周一的话是1.html 周5是5.html ,一个个测试下吧。 |
4
regent OP |
5
xxwd001 2012-05-18 22:50:20 +08:00 1
综合一下LS两位的就更好了
<script type="text/javascript"> document.write("<a href=\""); var day = new Date(); var cur = day.getDay(); if(cur>=1 && cur<=5){ document.write(cur); document.write(".html\">linkname</a>"); //linkname,链接文字 } else{ document.write("weekend.html\">linkname</a>"); } </script> |
6
lackrp 2012-05-18 23:14:06 +08:00
|
7
regent OP |
8
dianso 2012-05-18 23:23:12 +08:00
js很容易搞定的,按楼上几位说的做吧
|
9
regent OP @xxwd001 @fanzheng @lackrp 音乐展示的话按星期几判断已经足够了,而且对于技术不高的我来说其实已经足够方便,之所以又希望加入上午、下午的判断,是因为我发现这个方法还可以在不用php+mysql那样的方法下,建立一个简单的查找大学空闲教室的功能(前提是已经将空闲教室统计出来了),另外还需要修改一下页面的名称,
不过我感觉要多加几个判断: 1、首先要判断是星期几,如果是周末直接跳转weekend.html 2、如果是星期一到星期五,在此基础上继续判断:时间满足上午八点到中午十二点,跳转到Monday1.html类似这样的页面;时间满足中午十二点到下午2点,全部跳转到zhongwu.html;时间满足下午2点到下午六点,跳转到Monday2.html这样的页面;时间满足下午六点到晚上十一点,统一跳转evening.html;其他情况,统一跳转night.html 各位觉得怎么样?另外跳转的html名是不是最好和函数的返回值一样会比较好写? |
10
lackrp 2012-05-19 00:11:48 +08:00
@regent 文件名还是叫monday_morning.html(或者1_morning.html), noon.html, monday_afternoon.html(或者1_afternoon.html), evening.html, night.html吧,拼音和英文混杂,看起来很奇怪
|
12
xxwd001 2012-05-19 00:18:27 +08:00
汗…忘了空格了
|
14
xxwd001 2012-05-19 12:25:10 +08:00 1
@regent
<script type="text/javascript"> document.write("<a href=\""); var day = new Date(); var cur = day.getDay(); var hour=day.getHours(); if(cur==6 || cur==0){ document.write("weekend.html\">linkname</a>"); } else{ if(hour>=8 && hour<12){ document.write("Monday1.html\">linkname</a>"); } else if(hour>=12 && hour<14){ document.write("zhongwu.html\">linkname</a>"); } else if(hour>=14 && hour<18){ document.write("Monday2.html\">linkname</a>"); } else if(hour>=18 && hour<23){ document.write("evening.html\">linkname</a>"); } else{ document.write("night.html\">linkname</a>"); } </script> |
16
gDD 2012-05-19 13:20:14 +08:00 1
|
18
regent OP @xxwd001 谢谢,v2ex的用户真的很热心,
不过if(hour>=8 && hour<12){document.write("Monday1.html\"> 这里应该是把Monday Tuesday等都作为变量,也就是周一到周五的上下午时要单独处理的,中午晚上等有统一跳转,上午跳转类似Tuesday1.html,下午跳转Tuesday2.html @gDD 哇,非常感谢,还让我知道了v2ex还支持这种方式贴代码,另外jsfiddle.net是一个在线测试JavaScript的网站吗?原来还有这种服务啊,读了你的代码,配合我上面提出的,具体实现上有这样几点问题: 1、除周末外的时间,也就是周一到周五,noon,evening,night是统一跳转的,因为直接跳转到例如night.html,而不是Monday_night.html这样的, 2、周末所有时间全部跳转weekend.html,不必再细分 我之所以这样提出,是因为我们学校发布的公开信息只有周一到周五的,周末、周一到周五的中午和晚上等这样的情况,进行统一跳转可以减少页面制作量(因为即便制作了也是一样的,就是名称不同),不过你的代码对我很有学习价值,对于一周所有时间都有安排的情况是适用的,再次感谢 |
19
gDD 2012-05-19 14:15:04 +08:00
@regent #18
在 page = map[day] + "_" + getDayPostfix(hr); 的后面一行加上 page.replace(/(\w+?_)(noon|evening|night)/, "$2") 就行了。 虽然知道你要的代码和我写的有出入,但我还是写成了更通用点的,导致现在很难改成你想要的,不过加上上面那行就行了,算是一个dirty hack吧。 |
20
gDD 2012-05-19 14:16:12 +08:00
错了,应该是
page = page.replace(/(\w+?_)(noon|evening|night)/, "$2"); |
22
lackrp 2012-05-19 16:59:33 +08:00
sorry,点错了
|
23
qiuai 2012-05-19 18:22:52 +08:00
直接获取星期,然后加在PHP文件的函数后面不就是了?
|