js实现简单的万年历。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>万年历</title>

<style type="text/css">
*{margin:0;padding:0;}
.box{width:380px;height:600px;background:#ccc;margin:30px auto;padding:10px 0 0 20px }
.box ul{width:360px; height:480px; background:#f0f}
.box li{width:100px;height:100px;background:#222;color:#fff;list-style:none;line-height:100px;font-size:20px;text-align:center;float:left;margin:10px;cursor:pointer;}
#txt{width:355px;height:70px;border:2px solid red;margin-top:20px;font-size:18px;color:#00f}
.box .change{background:#fff;color:red;};
</style>

<script type="text/javascript">

    window.onload = function(){
        var aLi = document.getElementsByTagName("li");
        var arr = ["新的一年,加油!","2月龙抬头!","3月放风筝","4月,滚去学习",
                    "5月,玩命心跳","6月,我用双手成就你的梦想","7月,生日快乐!","尼玛,热成狗。",
                    "千峰学习ing","好像有7天长假^_^","光棍节快乐,禁止淘宝","happy new year!"];
        var oTxt = document.getElementById("txt");
        for(var i = 0;i < aLi.length;i++){
            aLi[i].index = i;               //index:英文名为索引。给每个li添加一个索引,并将i(0-11)赋值给这个索引。
            aLi[i].onclick = function(){
                for(var j = 0;j < aLi.length;j++){
                    aLi[j].className = ""; //当点击li(a)后再点击li(b),则会发现li(a)的样式并没有返回初始样式,使他的className为空就好。
                }
                aLi[this.index].className = "change"; // 这里的this指的是当前被点击的某个li,点击之后给他添加一个className,以此修改该li的样式。
                                                oTxt.innerHTML = arr[this.index];   //同样的,改变下面div里面的内容,已达到备忘录的效果。
            }
        }
    }

</script>

</head>

<body>
    <div class="box">
        <ul>
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
            <li>6</li>
            <li>7</li>
            <li>8</li>
            <li>9</li>
            <li>10</li>
            <li>11</li>
            <li>12</li>
        </ul>
        <div id="txt">
            <p>我于杀戮之中绽放,亦如黎明前的花朵。</p>
        </div>
    </div>
</body>
</html>

这是效果图,大家感兴趣的可以自己修改一下css样式外观

时间: 2024-10-11 13:21:27

js实现简单的万年历。的相关文章

JS中简单的this学习

我在学习JS初期,在使用this的时候经常出现问题,当然就是在现在,也有一些场景不能很好的明白this到底指代的是什么?看下面一个例子: ? 1 2 3 4 5 6 7 8 9 10 var x = 10;    var foo = {        x: 20,        bar: function() {            alert(this.x);        }    }    var bar = foo.bar;    foo.bar();    //20    bar()

JS实现简单的图片轮转

+(UIImage*)createImageFromView:(UIView*)view { //obtain scale CGFloat scale = [UIScreen mainScreen].scale; 开始绘图,下面方法,第一个参数表示区域大小.第二个参数表示是否是非透明的.如果需要显示半透明效果,需要传NO,否则传YES.第三个参数就是屏幕密度了 UIGraphicsBeginImageContextWithOptions(CGSizeMake(view.frame.size.wi

JS的简单操作和表单以及事件

HTML:主要用于往页面上放置所需要的控件. CSS:主要用来控制页面以及上面控件的样式. JS:主要用来控制页面上的特效以及数据交互. JS也分为顺序,条件(IF()... ELSE()),循环(FOR())三种语句,与C#基本一致. JS定义变量统一用var,定义数组不固定长度和类型,类似C#中的集合. JS的简单操作: DOM操作: 一.window: 1.window.onload 页面打开完再执行后面的操作 2.window.open(1,2,3,4) - 打开新页面, 1 - 打开页

node.js搭建简单的websocket

1.首先在官网http://www.nodejs.org/下载NODE.JS 2.打开命令行CMD,进入NODEJS\node_modules\的目录,输入npm install socket.io  安装socket.io模块.别急着关掉此CMD窗口,后面有用 3.搭建服务端代码server.js 1 var http = require('http'); 2 var io = require('socket.io'); 3 var cisserver = http.createServer(

JS实现简单的运行代码 &amp; 侧边广告

/* JS实现简单的运行代码功能 */<!doctype html> <html> <head> <meta charset="utf-8" /> <script> window.onload = function() { var oTxt = document.getElementById('codeText'); var oBtn = document.getElementById('btn'); oBtn.onclick

iOS开发——网络开发OC篇&amp;OC与JS交互简单案例

OC与JS交互简单案例 网页开发中三个重要的知识,这里就不详细介绍了! Html:页面代码 Css:样式 javascript:响应 先来看一段html的简单代码,里面涉及了上面的三个部分(很简单) 1 <html> 2 <!--描述网页信息--> 3 <head> 4 <meta charset="UTF-8"/> 5 <title>hello world</title> 6 <script> 7 f

Sea.js 提供简单、极致的模块化开发体验

http://seajs.org/docs/#intro 为什么使用 Sea.js ? Sea.js 追求简单.自然的代码书写和组织方式,具有以下核心特性: 简单友好的模块定义规范:Sea.js 遵循 CMD 规范,可以像 Node.js 一般书写模块代码. 自然直观的代码组织方式:依赖的自动加载.配置的简洁清晰,可以让我们更多地享受编码的乐趣. Sea.js 还提供常用插件,非常有助于开发调试和性能优化,并具有丰富的可扩展接口. 兼容性 Sea.js 具备完善的测试用例,兼容所有主流浏览器:

angular4.0和angularJS、react.js、vue.js的简单比较

angularJS特性 模板功能强大丰富(数据绑定大大减少了代码量) 比较完善的前端MVC框架(只要学习这个框架,按照规定往里面填东西就可以完成前端几乎所有的的问题) 引入了Java的一些概念 angularJS的一些问题 性能问题[(脏检查机制)在angular中被废除了,整体性能被提升 路由问题[(使用的是第三方模块)在angular中路由器是主要的机制 作用域问题[(不能用原生的事件,想用就要调用一个方法)在angular中任何原生的事件都可以直接处理 表单验证问题[在angular中提供

Sea.js提供简单、极致的模块化开发体验

为什么使用 Sea.js ? Sea.js 追求简单.自然的代码书写和组织方式,具有以下核心特性: 简单友好的模块定义规范:Sea.js 遵循 CMD 规范,可以像 Node.js 一般书写模块代码. 自然直观的代码组织方式:依赖的自动加载.配置的简洁清晰,可以让我们更多地享受编码的乐趣. Sea.js 还提供常用插件,非常有助于开发调试和性能优化,并具有丰富的可扩展接口. 兼容性 Sea.js 具备完善的测试用例,兼容所有主流浏览器: Chrome 3+ ? Firefox 2+ ? Safa