javascript制作简易日历,月份信息已经放在一个数组中,在<script>...</script>中编写代码实现其功能

实现步骤

  a) 获取需要操作的dom对象

  b) 在所有的li上添加鼠标经过的事件

  c) 在li的鼠标经过的事件中将所有li的class设置为空,并将当前li的class设置为“active”,同时利用innerHTML方法在id为text的div中设置html代码

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript简易日历</title>
<link href="zns_style.css" rel="stylesheet" type="text/css" />
<script>
//此处编写代码,实现简易日历,每个月份信息已经放在下面数组中
var aDatas=[
"快过年了,大家可以商量着去哪玩吧~",
"精通JavaScript开发课程 - 结课标准 - 有十条标准可让大家修练成JS高手……",
"HTML5开发课程,让你熟练掌握移动应用开发技术",
"精通各种DOM类应用,熟练掌握面向对象编程思想(OOP)、熟悉JS面向",
"熟练掌握AJAX技术及相关应用(例如:新浪微博级应用) ",
"可以独立写出类似jQuery的小型库(支持各类选择符、事件类、DOM、自定义动画animate、AJAX……)",
"精通JS运动特效技术,能完整实现各类网站所有动画特效,如 智能课堂 官网 - 智能课堂",
"掌握JS调试及优化技术、能兼容所有浏览器 - 智能课堂 - www.zhinengshe.com",
"精通JS事件对象及事件的工作机制,并能完成各类跨平台应用模块的开发",
"能独立开发表现和性能都很优秀的RIA应用",
"了解后台编程的相关知识,能够和后台工程师配合完成大型交互应用",
"熟悉正则表达式的编写、应用及高级表单验证技术"
]; }
</script>
</head> <body> <div id="tab" class="calendar"> <ul>
<li class="active"><h2>1</h2><p>JAN</p></li>
<li><h2>2</h2><p>FER</p></li>
<li><h2>3</h2><p>MAR</p></li>
<li><h2>4</h2><p>APR</p></li>
<li><h2>5</h2><p>MAY</p></li>
<li><h2>6</h2><p>JUN</p></li>
<li><h2>7</h2><p>JUL</p></li>
<li><h2>8</h2><p>AUG</p></li>
<li><h2>9</h2><p>SEP</p></li>
<li><h2>10</h2><p>OCT</p></li>
<li><h2>11</h2><p>NOV</p></li>
<li><h2>12</h2><p>DEC</p></li>
</ul> <div class="text">
<h2>1月活动</h2>
<p>快过年了,大家可以商量着去哪玩吧~</p>
</div> </div> </body>
</html>
@charset "utf-8";
/* CSS Document */ * { padding:; margin:; }
li { list-style: none; }
body { background: #f6f9fc; font-family: arial; } .calendar { width: 210px; margin: 50px auto 0; padding: 10px 10px 20px 20px; background: #eae9e9; }
.calendar ul { width: 210px; overflow: hidden; padding-bottom: 10px; }
.calendar li { float: left; width: 58px; height: 54px; margin: 10px 10px 0 0; border: 1px solid #fff; background: #424242; color: #fff; text-align: center; cursor: pointer; }
.calendar li h2 { font-size: 20px; padding-top: 5px; }
.calendar li p { font-size: 14px; } .calendar .active { border: 1px solid #424242; background: #fff; color: #e84a7e; }
.calendar .active h2 { }
.calendar .active p { font-weight: bold; } .calendar .text { width: 178px; padding: 0 10px 10px; border: 1px solid #fff; padding-top: 10px; background: #f1f1f1; color: #555; }
.calendar .text h2 {font-size: 14px; margin-bottom: 10px; }
.calendar .text p { font-size: 12px; line-height: 18px; }

zns_style.css

window.onload = function () {
//(a)获取需要操作的dom对象
var lis = document.getElementsByTagName('li');
var textDiv = document.getElementsByClassName('text')[0];
//(b)在所有的li上添加鼠标经过的事件
for (var i = 0; i < lis.length; i ++) {
lis[i].index = i;
lis[i].onmouseover = function () {
//(c)在li的鼠标经过的事件中将所有li的class设置为空
for (var i = 0; i < lis.length; i ++) {
lis[i].className = '';
}
//将当前li的class设置为“active”
this.className = 'active';
var month = this.index + 1;
//利用innerHTML方法在id为text的div中设置html代码(代码参考初始代码)
textDiv.innerHTML = '<h2>' + month + '月活动</h2><p>' + aDatas[this.index] + '</p>';
}
}
}

Gary.Script

分割线===================================

  可通过console.log(this.index)查看鼠标经过时this.index所指的值

window.onload = function () {
//(a)获取需要操作的dom对象
var lis = document.getElementsByTagName('li');
var textDiv = document.getElementsByClassName('text')[0];
//(b)在所有的li上添加鼠标经过的事件
for (var i = 0; i < lis.length; i ++) {
lis[i].index = i;
lis[i].onmouseover = function () {
//(c)在li的鼠标经过的事件中将所有li的class设置为空
for (var i = 0; i < lis.length; i ++) {
lis[i].className = '';
}
//将当前li的class设置为“active”
this.className = 'active';
var month = this.index + 1;
//利用innerHTML方法在id为text的div中设置html代码(代码参考初始代码)
textDiv.innerHTML = '<h2>' + month + '月活动</h2><p>' + aDatas[this.index] + '</p>';
console.log(this.index)
}
}
}

Gary.Script

原生Js_制作简易日历的更多相关文章

  1. 利用css+原生js制作简易钟表

    利用css+原生js制作简单的钟表.效果如下所示 实现该效果,分三大块:html.javascript.css html部分html部分比较简单,定义一个clock的div,内部有原点.时分秒针.日期 ...

  2. 利用JavaScript制作简易日历

    <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <met ...

  3. 原生JS制作简易Tabs组件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 用jquery制作简易日历

    html代码如下: div align="center" id="divAll"> <table id="tab" border ...

  5. 原生js简易日历效果实现

    这里我们将用原生js实现简易的日历,原理和之前的原生js选项卡差不多,不过也有些区别: 首先html代码: <div class="container"> <di ...

  6. js基础练习二之简易日历

    今天学到了js基础教程3,昨天的课后练习还没来的及做,这个是类似简易日历的小案例,视频还没听完,今晚继续...... 先看效果图: 其实做过前面的Tab选项卡,这个就很好理解了,通过鼠标放在不同月份月 ...

  7. javascript中Date对象的应用——简易日历的实现

    × 目录 [1]效果 [2]HTML [3]CSS[4]JS 前面的话 简易日历作为javascript中Date对象的常见应用,用途较广泛.本文将详细说明简易日历的实现思路 效果演示 HTML说明 ...

  8. js简易日历

    js简易日历中设计的知识点:选项卡切换   数组    innerHTML  连接符 与选项卡的区别:div的个数不同 连接符中需要注意的:(优先级) "abc"+12+3+&qu ...

  9. 使用MVVM框架avalon.js实现一个简易日历

    最近在做公司内部的运营管理系统,因为与日历密切相关,同时无需触发条件直接显示在页面上,所以针对这样的功能场景,我就用avalon快速实现了一个简易日历,毕竟也是第一次造日历这种轮子,所以这里记录下我当 ...

随机推荐

  1. 2019中山纪念中学夏令营-Day21[JZOJ]

    2019中山纪念中学夏令营-Day21[JZOJ] 提高组(B组模拟赛)Team_B (由于本人太弱,并没有订正完题目) (题解大部分是从官方题解文件上摘来的) 日常膜拜大神:じやゆん蒟蒻 正文部分: ...

  2. Python 入门 之 类的三大关系(依赖 / 组合/ 继承关系)

    Python 入门 之 类的三大关系(依赖 / 组合/ 继承关系) 在面向对象的中,类与类之间存在三种关系:依赖关系.组合关系.继承关系. 1.依赖关系:将一个类的类名或对象当做参数传递给另一个函数被 ...

  3. hadoop批量命令脚本xcall.sh及jps找不到命令解决

    1.xcall.sh批量命令脚本: #!/bin/bash params=$@ i=128 for (( i=128 ; i <= 131 ; i = $i + 1 )) ; do echo = ...

  4. button标签与input type=button标签使用的差异

    button标签和input type=button标签都是html文档中用来表示按钮属性的元素,不过他们在布局和实际使用功能中存在一些差异. 下面将项目中遇到的一些总结如下: 1.属性和布局差异. ...

  5. Notepad++ 文件丢失了,找回历史文件方法

    一开始我还以为文件丢失找不到了,心凉了半截,后来找到了它的备份路径 C:\Users\Administrator\AppData\Roaming\Notepad++\backup

  6. linux创建定时任务发送钉钉通知

    一.现在钉钉里面添加机器人 添加成功后,复制出Webhook链接. 注意,自定义关键字时你的发送信息中一定要完整包含关键字 二.找到自己的服务器 1. sudo su 切换到root用户 2.cron ...

  7. python、第五篇:数据备份、pymysql模块

    一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 掌握: #1. 测试+链接 ...

  8. Gh0st与云安全

    黑产攻击途径升级,云服务成重灾区 在我们的印象里,黑产以及相关的肉鸡DDOS攻击总是离我们很远.可实际情况并非如此,特别是在云服务大行其道的今天. 日前,腾讯反病毒实验室就观察到了国内云服务中Gh0s ...

  9. python连接activemq

    介绍 activeMQ是一款消息队列,关于消息队列是什么这里就不再介绍了,这里只介绍如何使用python去连接activemq进行消息的发送和接收.既然都用python去连接了,那么对于消息队列是什么 ...

  10. 第02章 新手必须掌握的 Linux 命令