原生JS实现左右箭头选择日期实例代码


Posted in Javascript onMarch 14, 2017

先上个效果图,就是用左右尖括号可改变中间日期的值。(点击中间显示区域有时间选择器弹框,用的插件就不说了,主要说自己原创的部分)                      

原生JS实现左右箭头选择日期实例代码                                                  

HTML部分 (左右箭头都是用的图片素材,网上一大把,这里我就显示我本地地址了)

<div> 
   <span class="leftspan" <span style="color:#FF0000;">onclick="reducedate()"</span>><img src="IMG/return.png" style="height:100%; width:100%;"/></span> 
   <label id="beginTime" class="kbtn"></label> 
   <span class="rightspan" <span style="color:#FF0000;">onclick="adddate()"</span>><img src="IMG/right.png" style="height:100%; width:100%;"</span> 
</div>

HTML部分没什么可说的

下面原生JS部分了(底部有本插件附件,欢迎各路朋友评论交流)

function adddate(){
 //向右跳转时间(加时间)的按钮
 var s = document.getElementById("beginTime").innerHTML;
 var arr = s.split("/"); //将获取的数组按“/”拆分成字符串数组
 var year = parseInt(arr[0]);//开分字符串数组的第一个地址的内容是年份
 var mouth = parseInt(arr[1]);//开分字符串数组的第二个地址的内容是月份
 var date = parseInt( arr[arr.length-1]);//开分字符串数组的第三个地址的内容是日期
 if(date == 28){//当日期为28号时 只判断是否是2月
 switch(mouth)
 {
  case 2:
  if(year % 4 == 0 && year % 100 !=0 || year%400 ==0){
  date = date +1;
  } //如果是闰年2月 日期就加一
  else {
  date = 1;
   mouth = mouth +1;
  } //不是闰年2月 日期就变为1 月份加一
 }
 }else if(date == 29){ //当日期为29号是 也是判断是否是2月
 switch(mouth)
 {
  case 2:
  date = 1;
  mouth = mouth +1;
 } //当29号出现必定是闰年 日期变为1 月份加一
 }else if(date == 30){ //当日期为30 时
 switch(mouth)
  {
  case 1:
  case 3:
  case 5:
  case 7:
  case 8:
  case 10:
  case 12: 
  date = date +1;
  break; //这些月份的时候一个月有31天 到30的时候再加一
  case 4:
  case 6:
  case 9:
  case 11: 
  date = 1;
  mouth = mouth +1;
  break; //这些月份的时候一个月有30天 到30的时候 日期变为1 月份加一
  }
 }else if(date == 31){
 switch(mouth)
  {
  case 1:
  case 3:
  case 5:
  case 7:
  case 8:
  case 10:
  date = 1;
  mouth = mouth+1;
  break; //这些月份的时候一个月有31天 到31的时候 日期为1月份加一
  case 12: 
  date = 1;
  mouth = 1;
  year = year+1;;
  break; //十二月 的 31 号 日期变为一 月份变为一 年份加一
  }
 }else{
  date +=1;
  }
 document.getElementById("beginTime").innerHTML = year+"/"+mouth+"/"+date;
 }
function reducedate(){
 //向左跳转时间(减时间)的按钮
 var s = document.getElementById("beginTime").innerHTML;
 var arr = s.split("/"); //将获取的数组按“/”拆分成字符串数组
 var year = parseInt(arr[0]);//开分字符串数组的第一个地址的内容是年份
 var mouth = parseInt(arr[1]);//开分字符串数组的第二个地址的内容是月份
 var date = parseInt( arr[arr.length-1]);//开分字符串数组的第三个地址的内容是日期
 if(date == 1){//当日期为1时,再剪就会改变月份,甚至年份
 switch(mouth){
 case 1:
  date = 31;
  mouth = 12;
  year = year-1;
  break; //一月一日 再剪一天 年份减一 月份为12 日期为31
  case 2:
 case 4:
 case 6:
 case 8:
 case 9:
 case 11:
  date = 31;
  mouth = mouth-1;
  break; //这些月一日 再剪一天 月份减一 日期为31
 case 3:
   if(year % 4 == 0 && year % 100 !=0 || year%400 ==0){
  date = 29;
  mouth = mouth -1;
  }else {
  date = 28;
  mouth = mouth -1;
  }
   break; //三月一日 再剪一天 月份减一 日期为根据是否是闰年来判断 日期
 case 5:
 case 7:
 case 10:
  date = 30;
  mouth = mouth -1;
  break; //这些月一日 再剪一天 月份减一 日期为30
 }
 }else{
 date = date-1;
 }
 document.getElementById("beginTime").innerHTML = year+"/"+mouth+"/"+date; //拼接字符串插入到标签中
 }

写个使用API吧:

向左尖括号(减少时间)

<span style="color:#FF0000;">onclick="reducedate("tagid")"; 
/span>

向右尖括号(增加时间)

<span style="color:#FF0000;">onclick="adddate()("tagid")"; 
/span>

代码可复制到自己的JS中,也可插入。

以上所述是小编给大家介绍的原生JS 左右箭头选择日期实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript实现的图像模糊算法代码分享
Apr 22 Javascript
实用框架(iframe)操作代码
Oct 23 Javascript
node.js中的fs.read方法使用说明
Dec 17 Javascript
jQuery的remove()方法使用详解
Aug 11 Javascript
Javascript之面向对象--接口
Dec 02 Javascript
jquery插件锦集【推荐】
Dec 16 Javascript
Bootstrap3多级下拉菜单
Feb 24 Javascript
详解vue-meta如何让你更优雅的管理头部标签
Jan 18 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
Jun 14 Javascript
JavaScript实现留言板案例
Mar 17 Javascript
绘制微信小程序验证码功能的实例代码
Jan 05 Javascript
elementui的el-popover修改样式不生效的解决
Jun 30 Javascript
JavaScript校验Number(4,1)格式的数字实例代码
Mar 13 #Javascript
Bootstrap笔记—折叠实例代码
Mar 13 #Javascript
jquery插件ContextMenu设置右键菜单
Mar 13 #Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
Mar 13 #Javascript
轻松实现jQuery添加删除按钮Click事件
Mar 13 #Javascript
jQuery+CSS3实现点赞功能
Mar 13 #Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
Mar 13 #Javascript
You might like
Yii框架获取当前controlle和action对应id的方法
2014/12/03 PHP
thinkPHP5框架自定义验证器实现方法分析
2018/06/11 PHP
javascript:void(0)的真正含义实例分析
2008/08/20 Javascript
学习ExtJS Column布局
2009/10/08 Javascript
ImageZoom 图片放大镜效果(多功能扩展篇)
2010/04/14 Javascript
js+xml生成级联下拉框代码
2012/07/24 Javascript
javascript框架设计读书笔记之种子模块
2014/12/02 Javascript
JS+CSS模拟可以无刷新显示内容的留言板实例
2015/03/03 Javascript
你不知道的高性能JAVASCRIPT
2016/01/18 Javascript
js实现3d悬浮效果
2017/02/16 Javascript
js鼠标移动时禁止选中文字
2017/02/19 Javascript
关于Sequelize连接查询时inlude中model和association的区别详解
2017/02/27 Javascript
使用原生js+canvas实现模拟心电图的实例
2017/09/20 Javascript
关于Angularjs中跨域设置白名单问题
2018/04/17 Javascript
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
2020/09/04 Javascript
[03:40]DOTA2抗疫特别篇《英雄年代》
2020/02/28 DOTA
Python中动态获取对象的属性和方法的教程
2015/04/09 Python
python抓取最新博客内容并生成Rss
2015/05/17 Python
python获取list下标及其值的简单方法
2016/09/12 Python
使用Python对Csv文件操作实例代码
2017/05/12 Python
Python实现Smtplib发送带有各种附件的邮件实例
2017/06/05 Python
Python通过future处理并发问题
2017/10/17 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
2018/11/14 Python
在Python中字典根据多项规则排序的方法
2019/01/21 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
Python的赋值、深拷贝与浅拷贝的区别详解
2020/02/12 Python
Django创建一个后台的基本步骤记录
2020/10/02 Python
保险专业大专生求职信
2013/10/26 职场文书
争做文明公民倡议书
2014/08/29 职场文书
2014最新离职证明范本
2014/09/12 职场文书
员工试用期自我评价
2014/09/18 职场文书
群众路线个人整改方案
2014/10/25 职场文书
悬空寺导游词
2015/02/05 职场文书
安全主题班会教案
2015/08/12 职场文书
MySQL数字类型自增的坑
2021/05/07 MySQL
你真的了解PHP中的引用符号(&)吗
2021/05/12 PHP