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 相关文章推荐
Javascript调用XML制作连动下拉列表框
Jun 25 Javascript
使用js实现雪花飘落效果
Aug 26 Javascript
JavaScript实现信用卡校验方法
Apr 07 Javascript
javascript HTML+CSS实现经典橙色导航菜单
Feb 16 Javascript
jQuery实现TAB选项卡切换特效简单演示
Mar 04 Javascript
jQuery基于ajax操作json数据简单示例
Jan 05 Javascript
js使用html2canvas实现屏幕截取的示例代码
Aug 28 Javascript
JavaScript canvas实现跟随鼠标事件
Feb 10 Javascript
微信公众号网页分享功能开发的示例代码
May 27 Javascript
详解js中的原型,原型对象,原型链
Jul 16 Javascript
js+audio实现音乐播放器
Sep 13 Javascript
如何在vue中使用kindeditor富文本编辑器
Dec 19 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
一首老MP3,致敬WAR3经典
2021/03/08 魔兽争霸
PHP支持多种格式图片上传(支持jpg、png、gif)
2011/11/03 PHP
php smarty截取中文字符乱码问题?gb2312/utf-8
2011/11/07 PHP
php超快高效率统计大文件行数
2015/07/05 PHP
js 获取中文拼音,Select自动匹配字母获取值的代码
2009/09/23 Javascript
来自国外的页面JavaScript文件优化
2010/12/08 Javascript
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
js定时器(执行一次、重复执行)
2014/03/07 Javascript
JS清除文本框内容离开在恢复及鼠标离开文本框时触发js的方法
2016/01/12 Javascript
浅谈jquery点击label触发2次的问题
2016/06/12 Javascript
原生Javascript插件开发实践
2017/01/09 Javascript
JavaScript判断浏览器及其版本信息
2017/01/20 Javascript
轻松实现jQuery添加删除按钮Click事件
2017/03/13 Javascript
详解nodejs的express如何自动生成项目框架
2017/07/12 NodeJs
详解vue+vuex+koa2开发环境搭建及示例开发
2018/01/22 Javascript
在微信小程序里使用watch和computed的方法
2018/08/02 Javascript
使用js实现一个简单的滚动条过程解析
2019/09/10 Javascript
Vue 实现简易多行滚动&quot;弹幕&quot;效果
2020/01/02 Javascript
微信小程序实现简单文字跑马灯
2020/05/26 Javascript
[01:03:22]LGD vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python中文件操作简明介绍
2015/04/13 Python
Python开发之快速搭建自动回复微信公众号功能
2016/04/22 Python
python读取和保存视频文件
2018/04/16 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
在PyTorch中Tensor的查找和筛选例子
2019/08/18 Python
Python字符串格式化输出代码实例
2019/11/22 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
2020/02/11 Python
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
BAILEY 44官网:美国制造的女性服装
2019/07/01 全球购物
意大利和国际最佳时尚品牌:Drestige
2019/12/28 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
Python中如何定义一个函数
2016/09/06 面试题
幼儿园教学随笔感言
2014/02/23 职场文书
2015年党员岗位承诺书
2015/04/27 职场文书
承诺书怎么写 ?
2019/04/16 职场文书
深入浅出讲解Java8函数式编程
2022/01/18 Java/Android