原生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 prototype原型操作笔记
Dec 07 Javascript
利用腾讯的ip地址库做ip物理地址定位
Jul 24 Javascript
CSS和JS标签style属性对照表(方便js开发的朋友)
Nov 11 Javascript
原始XMLHttpRequest方法详情回顾
Nov 28 Javascript
关于jQuery判断元素是否存在的问题示例探讨
Jul 21 Javascript
js代码验证手机号码和电话号码是否合法
Jul 30 Javascript
js实现带圆角的两级导航菜单效果代码
Aug 24 Javascript
jquery实现加载进度条提示效果
Nov 23 Javascript
微信小程序 引用其他js文件实现代码
Feb 22 Javascript
JS运动特效之同时运动实现方法分析
Jan 24 Javascript
在Vue项目中引入腾讯验证码服务的教程
Apr 03 Javascript
vue新vue-cli3环境配置和模拟json数据的实例
Sep 19 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
ThinkPHP实现将本地文件打包成zip下载
2014/06/26 PHP
详解php反序列化
2020/06/10 PHP
javascript 一些用法小结
2009/09/11 Javascript
jQuery实现鼠标可拖动调整表格列宽度
2014/05/26 Javascript
jQuery中offset()方法用法实例
2015/01/16 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
理解JavaScript中Promise的使用
2016/01/18 Javascript
[原创]JQuery 在表单提交之前修改 提交的值
2016/04/14 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
AngularJS入门教程之过滤器用法示例
2016/11/02 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
详解webpack2+React 实例demo
2017/09/11 Javascript
vue实现密码显示隐藏切换功能
2018/02/23 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
微信小程序合法域名配置方法
2019/05/06 Javascript
微信小程序移动拖拽视图-movable-view实例详解
2019/08/17 Javascript
Javascript异步编程async实现过程详解
2020/04/02 Javascript
[00:31]DOTA2荣耀之路7:Miracle-空血无敌斩
2018/05/31 DOTA
Python中的startswith和endswith函数使用实例
2014/08/25 Python
Python简单计算文件MD5值的方法示例
2018/04/11 Python
Python SELENIUM上传文件或图片实现过程
2019/10/28 Python
Python中求对数方法总结
2020/03/10 Python
Python退出时强制运行一段代码的实现方法
2020/04/29 Python
德国百年厨具品牌WMF美国站:WMF美国
2016/09/12 全球购物
美国室内盆栽植物购买网站:Plants.com
2020/04/24 全球购物
中科前程Java笔试题
2016/11/20 面试题
会计出纳员的自我评价
2014/01/15 职场文书
技能比赛获奖感言
2014/02/14 职场文书
自考毕业自我鉴定
2014/03/18 职场文书
导游个人求职信范文
2014/03/23 职场文书
就职演讲稿范文
2014/05/19 职场文书
酒店开业庆典策划方案
2014/05/28 职场文书
项目合作协议书
2014/09/23 职场文书
JavaScript实现贪吃蛇游戏
2021/06/16 Javascript
Redis基本数据类型Zset有序集合常用操作
2022/06/01 Redis