javascript实现的淘宝旅行通用日历组件用法实例


Posted in Javascript onAugust 03, 2015

本文实例讲述了javascript实现的淘宝旅行通用日历组件用法。分享给大家供大家参考。

在线演示:http://demo.3water.com/js/2015/trip-calendar/demo.html

PS:下面的演示代码,需要用到 trip-calendar.js与trip-calendar.css文件。打包下载地址

具体如下:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="angtian">
<meta name="description" content="淘宝旅行通用日历组件Demo1">
<meta name ="keywords" content="日历, 日历组件, 淘宝旅行日历">
<title>淘宝旅行通用日历组件Demo1</title>
<style>
body{padding:0;margin:0 10px;text-align:center;}
.title{padding:0;margin:10px 0;font:700 18px/1.5 \5fae\8f6f\96c5\9ed1;}
.title a{font:400 14px/1.5 Tahoma;margin-left:20px;}
.example{margin-top:10px;}
.example button{margin:0 5px 10px 0;}
.calendar{display:inline-block;}
</style> 
<script src="http://yui.yahooapis.com/3.5.1/build/yui/yui-min.js"></script>
<script>
var root = 'http://fgm.cc/learn/calendar/trip-calendar/';
YUI({
 modules: {
 'trip-calendar': {
 fullpath: root + 'trip-calendar.js',
 type : 'js',
 requires: ['trip-calendar-css']
 },
 'trip-calendar-css': {
 fullpath: root + 'trip-calendar.css',
 type : 'css'
 }
 }
}).use('trip-calendar', function(Y) {
 /**
 * 非弹出式日历实例
 * 直接将日历插入到页面指定容器内
 */
 var oCal = new Y.TripCalendar({
 container : '#J_Calendar', //非弹出式日历时指定的容器(必选)
 selectedDate: new Date //指定日历选择的日期
 });
 //日期点击事件
 oCal.on('dateclick', function() {
 var selectedDate = this.get('selectedDate');
 alert(selectedDate + '\u3010' + this.getDateInfo(selectedDate) + '\u3011');
 });
 Y.one('#J_Example').delegate('click', function(e) {
 var oTarget = e.currentTarget;
 value = oTarget.getAttribute('data-value');
 switch(true) {
 //日历个数
 case oTarget.hasClass('J_Count'):
 this.set('count', value).render();
 break;
 //显示节假日
 case oTarget.hasClass('J_showHoliday'):
 this.set('isHoliday', true).render();
 break;
 //隐藏节假日
 case oTarget.hasClass('J_hideHoliday'):
 this.set('isHoliday', false).render();
 break;
 //时间范围限定
 case oTarget.hasClass('J_Limit'):
 this.set('minDate', new Date)
  .set('maxDate', '')
  .set('afterDays', value)
  .set('date', new Date());
 break;
 //指定初始日期
 case oTarget.hasClass('J_InitDate'):
 this.set('minDate', value)
  .set('maxDate', '2012-12-21')
  .set('date', value);
 break;
 //下拉表单选择时间
 case oTarget.hasClass('J_Select'):
 this.set('isSelect', true).render();
 Y.all('.J_Count').slice(1).set('disabled', true);
 break;
 //取消下拉表单选择
 case oTarget.hasClass('J_SelectOff'):
 this.set('isSelect', false).render();
 Y.all('.J_Count').slice(1).set('disabled', false);
 break;
 }
 }, 'button', oCal);
});
</script>
</head>
<body>
<h1 class="title">淘宝旅行通用日历组件Demo1 <a href="http://fgm.cc/learn/calendar/trip-calendar/Demo1.html">Demo1</a><a href="http://fgm.cc/learn/calendar/trip-calendar/Demo2.html">Demo2</a><a href="http://fgm.cc/learn/calendar/trip-calendar/Demo3.html">Demo3</a><a href="http://fgm.cc/learn/calendar/trip-calendar/api.html" target="_blank">API文档</a></h1>
<div id="J_Example" class="example">
 <button class="J_Count" data-value="1">单日历</button>
 <button class="J_Count" data-value="2">双日历</button>
 <button class="J_Count" data-value="3">三日历</button>
 <button class="J_Count" data-value="4">四日历</button>
 <br />
 <button class="J_showHoliday">显示节假日</button>
 <button class="J_hideHoliday">隐藏节假日</button>
 <br />
 <button class="J_Limit" data-value="90">限定范围(今天->90天)</button>
 <button class="J_InitDate" data-value="2012-10-01">指定初始日期(2012年10月)</button>
 <button class="J_InitDate" data-value="">取消范围限定</button>
 <br />
 <button class="J_Select">下拉表单选择时间</button>
 <button class="J_SelectOff">取消下拉表单选择</button>
</div>
<div id="J_Calendar" class="calendar"></div>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
简单的JS多重继承示例
Mar 13 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
Aug 07 Javascript
详解JavaScript的流程控制语句
Nov 30 Javascript
js生成随机数方法和实例
Jan 17 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(2)
Feb 20 Javascript
jQuery zTree搜索-关键字查询 递归无限层功能实现代码
Jan 25 jQuery
vue+webpack模拟后台数据的示例代码
Jul 26 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
Apr 22 Javascript
layui+jquery支持IE8的表格分页方法
Sep 28 jQuery
vue中对象数组去重的实现
Feb 06 Javascript
jquery插件实现图片悬浮
Apr 16 jQuery
Vue组件更新数据v-model不生效的解决
Apr 02 Vue.js
javascript简单实现类似QQ头像弹出效果的方法
Aug 03 #Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
Aug 03 #Javascript
浅谈JavaScript中setInterval和setTimeout的使用问题
Aug 01 #Javascript
JavaScript图片轮播代码分享
Jul 31 #Javascript
简单实现异步编程promise模式
Jul 31 #Javascript
JavaScript数据类型判定的总结笔记
Jul 31 #Javascript
jquery代码实现多选、不同分享功能
Jul 31 #Javascript
You might like
PHPMailer安装方法及简单实例
2008/11/25 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
2013/07/01 PHP
PHP弹出对话框技巧详细解读
2015/09/26 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
利用php做服务器和web前端的界面进行交互
2016/10/31 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
2019/08/06 PHP
js 走马灯简单实例
2013/11/21 Javascript
jQuery实现点击水纹波动动画
2016/04/10 Javascript
使用JavaScript判断手机浏览器是横屏还是竖屏问题
2016/08/02 Javascript
javascript防篡改对象实例详解
2017/04/10 Javascript
用户管理的设计_jquery的ajax实现二级联动效果
2017/07/13 jQuery
在vue项目中使用md5加密的方法
2018/09/14 Javascript
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
2019/05/16 Javascript
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
如何正确解决VuePress本地访问出现资源报错404的问题
2020/12/03 Vue.js
python正则表达式re模块详细介绍
2014/05/29 Python
Python threading多线程编程实例
2014/09/18 Python
利用python实现简单的循环购物车功能示例代码
2017/07/05 Python
python爬虫爬取某站上海租房图片
2018/02/04 Python
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
Python socket模块实现的udp通信功能示例
2019/04/10 Python
使用Django开发简单接口实现文章增删改查
2019/05/09 Python
pytorch 中的重要模块化接口nn.Module的使用
2020/04/02 Python
Python调用jar包方法实现过程解析
2020/08/11 Python
Python filter过滤器原理及实例应用
2020/08/18 Python
python爬虫爬取某网站视频的示例代码
2021/02/20 Python
简单介绍HTML5中的文件导入
2015/05/08 HTML / CSS
网上卖盒饭创业计划书
2014/01/26 职场文书
法律六进活动方案
2014/03/13 职场文书
反对四风问题自我剖析材料
2014/09/29 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
东京审判观后感
2015/06/01 职场文书
小孩不笨观后感
2015/06/03 职场文书
歌咏比赛口号大全
2015/12/25 职场文书
2016习总书记系列重要讲话心得体会
2016/01/15 职场文书
javascript进阶篇深拷贝实现的四种方式
2022/07/07 Javascript