使用本文提供的javascript脚本,配合dreamweaver的层和行为的运用,可以在页面中显示可拖动的精美月历。
具体制作步骤如下:
1、启动dreamweaver mx,新建一个html文档,切换到代码视图,编写javascript脚本。
(1)在html文档的< head>…< /head>插入下面的javascript脚本:
< script language=”javascript” type=”text/javascript”>
//定义月历函数
function calendar() {
var today = new date(); //创建日期对象
year = today.getyear(); //读取年份
thisday = today.getdate(); //读取当前日
//创建每月天数数组
var monthdays = new array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
//如果是闰年,2月份的天数为29天
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) monthdays[1] = 29;
daysofcurrentmonth = monthdays[today.getmonth()]; //从每月天数数组中读取当月的天数
firstday = today;//复制日期对象
firstday.setdate(1); //设置日期对象firstday的日为1号
startday = firstday.getday(); //确定当月第一天是星期几
//定义周日和月份中文名数组
var daynames = new array(“星期日”,”星期一”,”星期二”,”星期三”,”星期四”,”星期五”,”星期六”);
var monthnames = new array(“1月”,”2月”,”3月”,”4月”,”5月”,”6月”,”7月”,”8月”,”9月”,”10月”,”11月”,”12月”);
//创建日期对象
var newdate = new date();
//创建表格
document.write(“< table border=0 cellspacing=0 cellpadding=2 align=center bgcolor=#0080ff>”)
document.write(“< tr>< td>< table border=0 cellspacing=1 cellpadding=2 bgcolor=#88ff99>”);
document.write(“< tr>< th colspan=7 bgcolor=#c8e3ff>”);
//显示当前日期和周日
document.writeln(“< font style=font-size:9pt;color:#ff0000>” + newdate.getyear() + “年” + monthnames[newdate.getmonth()] + ” ” + newdate.getdate() + “日 ” + daynames[newdate.getday()] + “< /font>”);
//显示月历表头
document.writeln(“< /th>< /tr>< tr>< th bgcolor=#0080ff>< font style=font-size:9pt;color:white>日< /font>< /th>”);
document.writeln(“< th bgcolor=#0080ff>< font style=font-size:9pt;color:white>一< /font>< /th>”);
document.writeln(“< th bgcolor=#0080ff>< font style=font-size:9pt;color:white>二< /font>< /th>”);
document.writeln(“< th bgcolor=#0080ff>< font style=font-size:9pt;color:white>三< /font>< /th>”);
document.writeln(“< th bgcolor=#0080ff>< font style=font-size:9pt;color:white>四< /font>< /th>”);
document.writeln(“< th bgcolor=#0080ff>< font style=font-size:9pt;color:white>五< /font>< /th>”);
document.writeln(“< th bgcolor=#0080ff>< font style=font-size:9pt;color:white>六< /font>< /th>”);
document.writeln(“< /tr>< tr>”);
//显示每月前面的”空日”
column = 0;
for (i=0; i
column++;
}
//如果是当前日就突出显示(红色),否则正常显示(黑色)
for (i=1; i<=daysofcurrentmonth; i++) {
if (i == thisday) {
document.writeln(“< /td>< td align=center>< font style=font-size:9pt;color:#ff0000>< b>”)
}
else {
document.writeln(“< /td>< td bgcolor=#88ff99 align=center>< font style=font-size:9pt;font-family:arial;font-weight:bold;color:#000000>”);
}
document.writeln(i);
if (i == thisday) document.writeln(“< /font>< /td>”)
column++;
if (column == 7) {
document.writeln(“< tr>”);
column = 0;
}
}
document.writeln(“< tr>< td colspan=7 align=center valign=top bgcolor=#0080ff>”)
document.writeln(“< form name=time onsubmit=0>< font style=font-size:9pt;color:#ffffff>”)
//显示当前时间
document.writeln(“当前时间:< input type=text name=textbox align=top>< /font>< /td>< /tr>< /table>”)
document.writeln(“< /td>< /tr>< /table>< /form>”);
}
< /script>
< script language=”javascript”>
//初始化控制变量
var timerid = null;
var timerrunning = false;
//定义时间显示函数
function stoptime (){
if(timerrunning)
cleartimeout(timerid);
timerrunning = false;}
//定义显示时间函数
function showtime () {
var newdate = new date();
var hours = newdate.gethours();
var minutes = newdate.getminutes();
var seconds = newdate.getseconds()
var timevalue = ” ” + ((hours >12) ? hours -12 :hours)
timevalue += ((minutes < 10) ? “:0” : “:”) + minutes
timevalue += ((seconds < 10) ? “:0” : “:”) + seconds
timevalue += (hours >= 12) ? ” 下午 ” : ” 上午 “
document.time.textbox.value = timevalue;
timerid = settimeout(“showtime()”,1000);//设置超时,使时间动态显示
timerrunning = true;}
//显示当前时间
function starttime () {
stoptime();
showtime();}
< /script>
(2)在html文档正文< body>…< /body>中插入javascript脚本,并给< body>标记添加一些属性:
< body onload=”starttime()” text=”#000000″ topmargin=”0″>
< script language=”javascript” type=”text/javascript”>
calendar(); //显示月历
< /script>
< /body>
2、切换到设计视图,在页面中插入一层,并把代表html文档正文中的javascript脚本图标(如果该图标没有显示,请选择view>visual aids>invisible elements菜单命令)拖入层中,如下图所示。
3、选择页面中的层,然后在behaviors(行为)面板(如果没有打开,选择window>behaviors)中单击”+”按钮,从弹出的菜单上选择drag layer(拖动层)命令。
4、在弹出的drag layer对话框中采用默认选项,单击ok按钮。此时,behaviors面板添加了onclick(单击)事件和drag layer动作。
5、保存文件,在浏览器中浏览,用鼠标按住月历即可在页面中自由拖动。
怎么样,蛮酷吧?