原生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 相关文章推荐
JTrackBar水平拖动效果
Jul 15 Javascript
jQuery封装的获取Url中的Get参数示例
Nov 26 Javascript
浅谈javascript的Touch事件
Sep 27 Javascript
基于jquery实现左右按钮点击的图片切换效果
Jan 27 Javascript
JS判断浏览器是否安装flash插件的简单方法
Sep 13 Javascript
JavaScript组成、引入、输出、运算符基础知识讲解
Dec 08 Javascript
原生javascript移动端滑动banner效果
Mar 10 Javascript
详解微信小程序Page中data数据操作和函数调用
Sep 27 Javascript
iview给radio按钮组件加点击事件的实例
Sep 30 Javascript
nginx配置React静态页面的方法教程
Nov 03 Javascript
React 组件间的通信示例
Jun 14 Javascript
jQuery实现轮播图效果
Nov 26 jQuery
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
PHP关联数组的10个操作技巧
2013/01/21 PHP
ThinkPHP表单自动提交验证实例教程
2014/07/18 PHP
ThinkPHP5&amp;5.1框架关联模型分页操作示例
2019/08/03 PHP
laravel 数据验证规则详解
2019/10/23 PHP
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
2013/04/26 Javascript
jQuery实现弹出窗口中切换登录与注册表单
2015/06/05 Javascript
详解JavaScript中的表单验证
2015/06/16 Javascript
JavaScript实现select添加option
2015/07/03 Javascript
jQuery基于扩展简单实现倒计时功能的方法
2016/05/14 Javascript
Centos7 中 Node.js安装简单方法
2016/11/02 Javascript
js中动态创建json,动态为json添加属性、属性值的实例
2016/12/02 Javascript
webpack配置的最佳实践分享
2017/04/21 Javascript
微信小程序日历组件calendar详解及实例
2017/06/08 Javascript
Vue实现数字输入框中分割手机号码的示例
2017/10/10 Javascript
vue2.0 路由模式mode=&quot;history&quot;的作用
2018/10/18 Javascript
qrcode生成二维码微信长按无法识别问题的解决
2019/04/04 Javascript
Nodejs技巧之Exceljs表格操作用法示例
2019/11/06 NodeJs
vue 实现移动端键盘搜索事件监听
2019/11/06 Javascript
在 Vue 中编写 SVG 图标组件的方法
2020/02/24 Javascript
python列表去重的二种方法
2014/02/14 Python
python 实现红包随机生成算法的简单实例
2017/01/04 Python
Python实现JSON反序列化类对象的示例
2018/01/31 Python
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
2018/04/18 Python
python 列表转为字典的两个小方法(小结)
2019/06/28 Python
python函数修饰符@的使用方法解析
2019/09/02 Python
Python中的引用和拷贝实例解析
2019/11/14 Python
如何使用python记录室友的抖音在线时间
2020/06/29 Python
django模型类中,null=True,blank=True用法说明
2020/07/09 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
2021/01/23 Python
马来西亚在线时尚女装商店:KEI MAG
2017/09/28 全球购物
党员违纪检讨书
2014/02/18 职场文书
毕业证委托书范文
2014/09/26 职场文书
交通事故调解协议书
2015/05/20 职场文书
文书工作总结(范文)
2019/07/11 职场文书
字典算法实现及操作 --python(实用)
2021/03/31 Python
MySQL如何修改字段类型和字段长度
2022/06/10 MySQL