js中的经典案例--简易万年历

html代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style type="text/css">
        * { padding: 0; margin: 0; }
        li { list-style: none; }
        body { background: #f6f9fc; font-family: arial; }

        .calendar { width: 210px; margin: 0 auto; 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 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; }
        </style>
</head>
<body>
    <div id="tab" class="calendar">
        <ul id="box">
            <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" id="txt">
            <h2>1月活动</h2>
            <p>快过年了,大家可以商量着去哪玩吧~</p>
        </div>
    </div>

</body>

下面是通过js代码实现对页面的控制,主要修改点击时页面的变话

<script type="text/javascript">
     var arr=[‘快过年了,大家可以商量着去哪玩吧~‘,
        ‘大家好好学习吧222222~~~‘,
        ‘大家好好学习吧222222333~~~‘,
        ‘大家好好学习吧222444222~~~‘,
        ‘大家好好学习555吧222222~~~‘,
        ‘大家好好学习吧666222222~~~‘,
        ‘大家好好学习吧227772222~~~‘,
        ‘大家好好学习吧28888822222~~~‘,
        ‘大家好好学习吧99999222222~~~‘,
        ‘大家好好学习10000000吧222222~~~‘,
        ‘大家好好学习吧111111222222~~~‘,
        ‘大家好好学习吧22222200000000000~~~‘]

        var ali=document.querySelectorAll("#box li");
        var oh2=document.getElementById("txt").children[0];
        var op=document.getElementById("txt").children[1];

        //创建一个循环,遍历每一个li;
         // 所有li绑定点击事件
         // 循环立即执行,不会等事件
        for(var i=0;i<ali.length;i++){
        //给每一个li编号;
            ali[i].abc=i;
            //点击列表时让列表变色;循环不会等事件;如果不重新遍历一次;那么点击的时候循环早遍历完了;点击时的i=ali.length;
            ali[i].onclick=function(){
                for(j=0;j<ali.length;j++){
                //让每次li都没有class属性;每次点击后再给他添加属性;
                    ali[j].className="";
                }
                    //this指向调用这个函数的对象;
                console.log(this);
                //给当前加上class名,点到谁就会变色
                this.className="active";
                console.log(this.abc)
                //根据索引找到数组中的数据
                oh2.innerHTML=this.abc+1+"月活动";
                op.innerHTML=arr[this.abc];
            }

        }
</script>

原文地址:https://www.cnblogs.com/zhouqingfeng/p/11404146.html

时间: 2024-10-07 10:45:18

js中的经典案例--简易万年历的相关文章

JS中最经典的全局变量和局部变量问题

话不多说,直接上例子: 1.程序的运行结果为:100  10  100 1 var a = 10; 2 function test(){ 3 a = 100; 4 console.log(a); 5 console.log(this.a); 6 var a; 7 console.log(a); 8 } 9 test(); 解析:Javascript在执行前会对整个脚本文件的声明部分做完整分析(包括局部变量),从而确定变量的作用域,所以在函数test执行前,由于第6行声明了局部变量a,所以函数内部

【JS中循环嵌套六大经典例题+六大图形题,你知道哪几个?】

首先,了解一下循环嵌套的特点:外层循环转一次,内层循环转一圈. 在上一篇随笔中详细介绍了JS中的分支结构和循环结构,我们来简单的回顾一下For循环结构: 1.for循环有三个表达式,分别为: ①定义循环变量 ② 判断循环条件 ③更新循环变量(三个表达式之间,用;分隔.) for循环三个表达式可以省略,两个;缺一不可2.for循环特点:先判断,再执行:3.for循环三个表达式,均可以有多部分组成,之间用逗号分隔,但是第二部分判断条件需要用&&链接,最终结果需要为真/假. [嵌套循环特点]外层

Exchange经典案例-01:如何统计Exchange组织中所有的权限组和成员

在之前的Exchange Server2013 日常管理经典案例中的博文中得到了大家的关注和高度的认可,对此首先表示非常感谢.后期会跟大家分析更多企业环境中的实际案例. 对于今天的这个案例我是深有感触的,在2个月之前上海**大学有个Exchange方面的需求,用户数在1万人以上.该大学现有Exchange2010环境,在权限管理方面比较乱,目前也不知具体哪些人有哪些权限.由于最近更换了IT manager,想将现有环境做个全面的权限排除和各方面的完善后再将Exchange Server 2010

js中的数据类型转换(找相应的值小案例)

js中数据类型转换是一个很频繁会用到的一部分,那么在实际案例中会出现各种的数据类型,想要满足某些条件,那还必须要不同类型的数据进行转换,今天就通过一个小例子,来找出相对应的数据类型. 先看一个一个数组,数组里的内容很复杂,包含了所有的数据类型,然后我们通过不同的条件找到相对应的内容: var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);}, null, document, [], tr

解析js中作用域、闭包——从一道经典的面试题开始

如何理解js中的作用域,闭包,私有变量,this对象概念呢? 就从一道经典的面试题开始吧! 题目:创建10个<a>标签,点击时候弹出相应的序号 先思考一下,再打开看看 //先思考一下你会怎么写,是不是这样? 可是结果呢,弹出来的都是10,为啥? var i,a for(i=0;i<10;i++){ a=document.createElement('a') a.innerHTML=i+'<br>' a.addEventListener('click',function(eve

Js中JSON.stringify()与JSON.parse()与eval()详解及使用案例

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.因为采用独立于语言的文本格式,也使用了类似于C语言家族的习惯,拥有了这些特性使使JSON称为理想的数据交换语言,作用是易于阅读和编写,同时也易于机器解析和生成(一般用于网络传输速率). 一:JSON.parse(); 作用:将json字符串转换成json对象 语法:JSON. parse(text[,reviver]). 参数: text:必选,一个有效的json字符串. reviver:可选. 返回值:

javascript的理解及经典案例

js的简介: JavaScript是一种能让你的网页更加生动活泼的程式语言,也是目前网页中设计中最容易学又最方便的语言. 你可以利用JavaScript轻易的做出亲切的欢迎讯息.漂亮的数字钟.有广告效果的跑马灯及简易的选举,还可以显示浏览器停留的时间.让这些特殊效果提高网页的可观性. javascript现在可以再网页上做很多很多事情,网页特效,操作dom,html5游戏(基于html5和JavaScript的结合),动画等等特效,还可以实现拉去后台数据(通过ajax),不仅可以做前台还可以做后

js中变量的连续赋值

下面就是这个经典案例: var a = {n: 1}: var b = a; a.x = a = {n: 2}: console.log(a);console.log(b); console.log(a.x); console.log(b.x): 我们先来看一下普通连续赋值,即:变量赋值的类型是数据类型值 var a=3; var b=a=5; console.log(a); console.log(b); 一般来说,等号赋值的方向是从右至左,那么上面的代码等同于下面这段代码,那么我们就用下面这

网络机器人的识别与攻防的经典案例

本文我们介绍一个网络机器人的识别与攻防的经典案例.使用到的代码见本人的superword项目: https://github.com/ysc/superword/blob/master/src/main/java/org/apdplat/superword/tools/ProxyIp.java 我们的目的是要使用机器人自动获取站点http://ip.qiaodm.com/ 和站点http://proxy.goubanjia.com/ 的免费高速HTTP代理IP和端口号. 不过他们未对机器人进行识