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 相关文章推荐
一个不错的应用,用于提交获取文章内容,不推荐用
Mar 03 Javascript
一个挺有意思的Javascript小问题说明
Sep 26 Javascript
20款效果非常棒的 jQuery 插件小结分享
Nov 18 Javascript
借助javascript代码判断网页是静态还是伪静态
May 05 Javascript
JQuery给元素绑定click事件多次执行的解决方法
May 29 Javascript
如何调试异步加载页面里包含的js文件
Oct 30 Javascript
JavaScript实现点击按钮直接打印
Jan 06 Javascript
jquery插件之文字间歇自动向上滚动效果代码
Feb 25 Javascript
javascript原型继承工作原理和实例详解
Apr 07 Javascript
微信小程序 详解Page中data数据操作和函数调用
Jan 12 Javascript
Javascript将图片的绝对路径转换为base64编码的方法
Jan 11 Javascript
vue的toast弹窗组件实例详解
May 14 Javascript
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
基于PHP magic_quotes_gpc的使用方法详解
2013/06/24 PHP
ThinkPHP使用smarty模板引擎的方法
2014/07/01 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
PHP反射学习入门示例
2019/06/14 PHP
javascript 多浏览器 事件大全
2010/03/23 Javascript
javascripit实现密码强度检测代码分享
2013/12/12 Javascript
jquery事件重复绑定的快速解决方法
2014/01/03 Javascript
用JavaScript实现类似于ListBox功能示例代码
2014/03/09 Javascript
jQuery源码解读之removeClass()方法分析
2015/02/20 Javascript
JS修改iframe页面背景颜色的方法
2015/04/01 Javascript
AngularJS入门教程之ng-class 指令用法
2016/08/01 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
JS中this上下文对象使用方式
2016/10/09 Javascript
jquery.flot.js简单绘制折线图用法示例
2017/03/13 Javascript
12条写出高质量JS代码的方法
2018/01/07 Javascript
Vue CLI 2.x搭建vue(目录最全分析)
2019/02/27 Javascript
Vuex mutitons和actions初使用详解
2019/03/04 Javascript
python中Genarator函数用法分析
2015/04/08 Python
最近Python有点火? 给你7个学习它的理由!
2017/06/26 Python
python笔记:mysql、redis操作方法
2017/06/28 Python
Python下简易的单例模式详解
2019/04/08 Python
Python简单基础小程序的实例代码
2019/04/28 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
Pyinstaller 打包exe教程及问题解决
2019/08/16 Python
pymysql 插入数据 转义处理方式
2020/03/02 Python
从0到1使用python开发一个半自动答题小程序的实现
2020/05/12 Python
利用python爬取有道词典的方法
2020/12/08 Python
美国领先的家居装饰和礼品商店:Kirkland’s
2017/01/30 全球购物
DELPHI中如何调用API,可举例说明
2014/01/16 面试题
领导干部考察材料
2014/02/08 职场文书
毕业论文评语大全
2014/04/29 职场文书
就业协议书样本
2014/08/20 职场文书
学生会竞选演讲稿学习部
2014/08/25 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
Python3使用Qt5来实现简易的五子棋小游戏
2022/05/02 Python
详解Redis的三种常用的缓存读写策略步骤
2022/05/06 Redis