如何取消button的点击特效_JavaScript特效篇——日历

今天带来的文章分享是《JavaScript特效篇——日历》。

33e81f6ed49b6faa09d08b1cc2e1c841.png

先看下效果:

aa2e13520f171affc8e10846356c710f.gif


bug啥的暂时还没有发现,也许界面不那么美观~~~留给想做美工的时候吧。现在关键就是先把功能实现:
  • 显示任一月份的日历
  • 可以通过“上一月”、“下一月”的按钮点击实现月份的切换‘’
  • 单机“当月”按钮直接显示当月的日历
  • 下拉框是以实现月份的切换,默认值是当月的月份
其他的美好功能就留给细心的你慢慢发现吧 bfcf383c2da9e0b6486e04983bd62c09.png bfcf383c2da9e0b6486e04983bd62c09.png

e87824a59c8a45765f00bff878baf9c2.png

还是老规矩,直接上代码。代码主要的部分还是JavaScript,HTML,CSS都是简单的:

1cb6be6ce001f8fb31f319a8c18fd5a5.png

HTML:
 1    <div class="main">
2        <div class="top">
3            <button><span id="prev">上一月span>button>
4            <div class="center display"><span id="year">2019span><span id="month">二月span>div>
5            <button><span id="next">下一月span>button>
6            <button><span id="current">当  月span>button>
7            <select name="slectMonth" id="selectMonth">
8                <option value="0">option>
9                <option value="1">option>
10                <option value="2">option>
11                <option value="3">option>
12                <option value="4">option>
13                <option value="5">option>
14                <option value="6">option>
15                <option value="7">option>
16                <option value="8">option>
17                <option value="9">option>
18                <option value="10">option>
19                <option value="11">option>
20            select>
21
22        div>
23        <div class="show">
24            <ul class="text">
25                <li>日li>
26                <li>一li>
27                <li>二li>
28                <li>三li>
29                <li>四li>
30                <li>五li>
31                <li>六li>
32            ul>
33            <ul id="data">ul>
34        div>
35    div>

CSS:

<style type="text/css">    *{box-sizing: border-box;margin:0;padding:0;}    .main{width: 600px;height: auto;margin: 20px auto;border: 1px solid orange;position: relative;}    .left{float:left;}    .right{float: right;}    .center{clear: both;position: absolute;left: 50%;transform: translate(-50%);}    .top{width: 100%;height: 40px;background-color: green;}    .show{height: 90%;}    ul{width: 100%;}    ul li {float: left;width: 14.2857%;height: 100%;list-style: none;text-align:center;border: 1px solid blue;}    top button,top select,top div.display{line-height: 100%;}style>

JavaScript:

<script type="text/javascript">    var yearText=document.getElementById("year");    var monthText=document.getElementById("month");    var dataText=document.getElementById("data");    var date=new Date();    run(date);    function run(date){    var year=date.getFullYear();    var month=date.getMonth();    var firstWeekDay=new Date(year,month,0).getDay();//weekday of the first day in a month    var totalDay=new Date(year,month+1,0).getDate();    var day=date.getDate(); //day    console.log(firstWeekDay);    console.log(day);    console.log("totalDay="+totalDay);    var monthArray=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"];    var selectMonth=document.getElementById("selectMonth");    var options=selectMonth.getElementsByTagName("option");    // alert(options.length);    for(let i=0;i       options[i].innerHTML=monthArray[i];    }    selectMonth.value=month;    var innerStr=" ";    for(var i=0;i<=firstWeekDay;i++){        innerStr+=""+" "+"";    }    for(var i=1;i<=totalDay;i++){        innerStr+=""+i+"";    }    // console.log(innerStr);    dataText.innerHTML=innerStr;    yearText.innerHTML=year;    monthText.innerHTML=monthArray[month];    }    document.getElementById("prev").onclick=function(){        date.setMonth(date.getMonth()-1);        run(date);    }    document.getElementById("next").onclick=function(){        date.setMonth(date.getMonth()+1);        run(date);    }    selectMonth.onchange=function(){        // alert(this.value);        date.setMonth(this.value);        run(date);    }    document.getElementById("current").onclick=function(){        run(new Date());    }script>
额,感兴趣的读者可以试试。仅供参考哈。关键点还是JavaScript Date()类的使用。 一定要记得点下面的搜索哟,有惊喜!!!!

2b0ba4080e8acb124819bd5a49f8bcf4.gif

f8fefa9bc25778fe472a0c54c2491de9.gif

往期回顾 

1.《根说》第二期来啦

2.记一次颠覆课本案例

3.一生有你来虚度时光

程序猿小根

记录菜鸟程序猿成长点滴 97bdeb0bba05bce60959d5894ca601fc.png

欢迎您的关注

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值