码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2019-08-24 13:17:24      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:代码   编号   idt   innerhtml   遍历   i++   cal   pre   enter   

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>

 

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

标签:代码   编号   idt   innerhtml   遍历   i++   cal   pre   enter   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!