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 相关文章推荐
jQuery中;function($,undefined) 前面的分号的用处
Dec 17 Javascript
基于JavaScript实现跳转提示页面
Sep 24 Javascript
详细讲解JavaScript中的this绑定
Oct 10 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
Apr 10 jQuery
浅谈高大上的微信小程序中渲染html内容—技术分享
Oct 25 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
Jul 29 Javascript
构建Vue大型应用的10个最佳实践(小结)
Nov 07 Javascript
小程序新版订阅消息模板消息
Dec 31 Javascript
JS端基于download.js实现图片、视频时直接下载而不是打开预览
May 09 Javascript
vue组件中实现嵌套子组件案例
Aug 31 Javascript
vue实现简单计算商品价格
Sep 14 Javascript
一定要知道的 25 个 Vue 技巧
Nov 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
PHP反向代理类代码
2014/08/15 PHP
php实现的替换敏感字符串类实例
2014/09/22 PHP
功能强大的PHP发邮件类
2016/08/29 PHP
Laravel 创建可以传递参数 Console服务的例子
2019/10/14 PHP
15 个 JavaScript Web UI 库
2010/05/19 Javascript
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
javascript中encodeURI和decodeURI方法使用介绍
2013/05/06 Javascript
JavaScript中使用Substring删除字符串最后一个字符
2013/11/03 Javascript
js确认删除对话框效果的示例代码
2014/02/20 Javascript
js获取窗口相对于屏幕左边和上边的位置坐标
2014/05/15 Javascript
$(&quot;&quot;).click与onclick的区别示例介绍
2014/09/25 Javascript
node.js中的path.normalize方法使用说明
2014/12/08 Javascript
详解JavaScript正则表达式之RegExp对象
2015/12/13 Javascript
Bootstarp风格的toggle效果分享
2016/02/23 Javascript
bootstrap datetimepicker 日期插件在火狐下出现一条报错信息的原因分析及解决办法
2017/03/08 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
CodeMirror js代码加亮使用总结
2017/03/25 Javascript
Angular中封装fancyBox(图片预览)遇到问题小结
2017/09/01 Javascript
vue控制多行文字展开收起的实现示例
2019/10/11 Javascript
angular inputNumber指令输入框只能输入数字的实现
2019/12/03 Javascript
python之文件的读写和文件目录以及文件夹的操作实现代码
2016/08/28 Python
PyQt5实现无边框窗口的标题拖动和窗口缩放
2018/04/19 Python
Python3实现统计单词表中每个字母出现频率的方法示例
2019/01/28 Python
用django-allauth实现第三方登录的示例代码
2019/06/24 Python
keras训练曲线,混淆矩阵,CNN层输出可视化实例
2020/06/15 Python
HTML5播放实现rtmp流直播
2020/06/16 HTML / CSS
娇韵诗加拿大官网:Clarins加拿大
2017/11/20 全球购物
职工运动会邀请函
2014/01/19 职场文书
教师辞职报告范文
2014/01/20 职场文书
研讨会主持词
2014/04/02 职场文书
住宅质量保证书
2014/04/29 职场文书
交通安全标语
2014/06/06 职场文书
2015年电信员工工作总结
2015/05/26 职场文书
生日寿星公答谢词
2015/09/29 职场文书
2019年思想汇报
2019/06/20 职场文书
nginx 多个location转发任意请求或访问静态资源文件的实现
2021/03/31 Servers