js实现日历卡

Posted 小极客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js实现日历卡相关的知识,希望对你有一定的参考价值。

效果图如下

 

首先先添加简单的样式

<style type="text/css">
*{padding:0;margin:0;}
    #tab {
        margin:0 auto;
        width:205px;
        height:335px;
        background:#e8e8e5;
    }
    #tab li{
           width:50px;
           height:50px;
           background:#40403f;
           float:left;
           list-style:none;
           margin-left:12px;
           margin-top:10px;
           text-align:center;
           font-size:12px;
           color:white;
           line-height:25px;
           font-weight:700;
           border:1px solid #40403f;

    }
    #tab #text{
        width:178px;
        height:70px;
        border:1px white solid;
        background:#f0f0ef;
        float:left;
        position:relative;
        top:10px;
        left:12px;
    }
    #tab #text h2{
        margin-left:5px;
        margin-top:5px;
        font-size:16px;
        color:#4c4c4b;
    }
    #tab #text p{
        margin-left:5px;
        margin-top:5px;
        font-size:12px;
        color:#80807f;
    }
    #tab .active{
        color:#db6082;
        background:white;
        
    }
</style>


<div id="tab" clss="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 id="text">
        
    </div>
</div>

思路是通过一个循环,当鼠标移到每个方框,显示出不同的内容并且样式改变

当移到每个方框,先清除每个li的样式,以后个你鼠标在的li给给classname就可以,

内容可以用innerhtml

js代码如下

<script>
    window.onload=function()
    {
        var tab=document.getElementById("tab");
        var li=tab.getElementsByTagName("li");
        var text1=document.getElementById("text");
        // var p=text1.getElementsByTagName("p")[0];
        // var h2=text1.getElementsByTagName("h2")[0];
        var text=[\'快过年了,大家可以商量着去哪里玩吧!\',
                  \'寒假快结束了,是该时候写作业了\',
                  \'开学季了\',
                  \'四月是谈恋爱的季节.\',
                  \'love\',
                  \'you\',
                  \'forever\',
                  \'and\',
                  \'alongside\',
                  \'all\',
                  \'day\',
                 ]
        for(var i=0;i<li.length;i++)
        {
            li[i].index=i;
            li[i].onmouseover= function()
            {   
                  for(var i=0;i<li.length;i++)
                  {
                    li[i].className="";
                  }
                  this.className="active";
                  text1.innerHTML= \'<h2>\'+(this.index+1)+\'月活动</h2><p>\'+text[this.index]+\'</p>\';

            };
        }
       
    }
</script>

  

 其实实现很简单,可以自己试着写,然后看看这代码

 

以上是关于js实现日历卡的主要内容,如果未能解决你的问题,请参考以下文章

选项卡执行android中下一个片段中存在的代码

从父片段到选项卡片段的接口侦听器不起作用

js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)

js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)

原生JS实现日历

选项卡片段内的卡片视图