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

发布时间 - 2026-01-11 00:09:29    点击率:

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

                                                  

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 左右箭头选择日期实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# js左右箭头  # js选择日期  # 带左右箭头图片轮播的JS代码  # js实现点击文本框显示日期选择器特效代码分享  # Ext JS 4实现带week(星期)的日期选择控件(实战一)  # Js日期选择自动填充到输入框(界面漂亮兼容火狐)  # JS日期和时间选择控件升级版(自写)  # Js日期选择器并自动加入到输入框中示例代码  # javascript 日期联动选择器 [其中的一些代码值得学习]  # 一个月  # 期为  # 当日  # 第一个  # 第二个  # 跳转  # 第三个  # 小编  # 自己的  # 都是  # 判断是否  # 我就  # 就会  # 在此  # 就不  # 说了  # 也可  # 给大家  # 可说  # 我本 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何快速启动建站代理加盟业务?  微信小程序 wx.uploadFile无法上传解决办法  如何用IIS7快速搭建并优化网站站点?  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  如何在IIS中新建站点并解决端口绑定冲突?  如何在Windows服务器上快速搭建网站?  如何用PHP工具快速搭建高效网站?  如何在建站之星绑定自定义域名?  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  非常酷的网站设计制作软件,酷培ai教育官方网站?  如何快速搭建高效可靠的建站解决方案?  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  详解jQuery中基本的动画方法  教你用AI将一段旋律扩展成一首完整的曲子  如何在阿里云虚拟主机上快速搭建个人网站?  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  如何彻底卸载建站之星软件?  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  如何在新浪SAE免费搭建个人博客?  如何快速搭建自助建站会员专属系统?  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  如何在阿里云ECS服务器部署织梦CMS网站?  详解MySQL数据库的安装与密码配置  七夕网站制作视频,七夕大促活动怎么报名?  简单实现Android文件上传  网站制作软件免费下载安装,有哪些免费下载的软件网站?  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  如何获取上海专业网站定制建站电话?  原生JS获取元素集合的子元素宽度实例  微信小程序 闭包写法详细介绍  如何撰写建站申请书?关键要点有哪些?  大连网站制作公司哪家好一点,大连买房网站哪个好?  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  再谈Python中的字符串与字符编码(推荐)  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  如何用景安虚拟主机手机版绑定域名建站?  如何在香港服务器上快速搭建免备案网站?  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  北京网站制作的公司有哪些,北京白云观官方网站?  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  如何在云指建站中生成FTP站点?  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  如何在搬瓦工VPS快速搭建网站?  Laravel如何配置任务调度?(Cron Job示例)  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】