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 相关文章推荐
在视频前插入广告
Nov 20 Javascript
JS类的封装及实现代码
Dec 02 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
Sep 30 Javascript
js分页代码分享
Apr 28 Javascript
jQuery实现dialog设置focus焦点的方法
Jun 10 Javascript
vue.js入门教程之绑定class和style样式
Sep 02 Javascript
Vue下滚动到页面底部无限加载数据的示例代码
Apr 22 Javascript
AngularJS日期格式化常见操作实例分析
May 17 Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
Feb 18 Javascript
d3.js 地铁轨道交通项目实战
Nov 27 Javascript
jQuery实现全选、反选和不选功能的方法详解
Dec 04 jQuery
Vue中使用Echarts仪表盘展示实时数据的实现
Nov 01 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输入流php://input使用示例(php发送图片流到服务器)
2013/12/25 PHP
十大使用PHP框架的理由
2015/09/26 PHP
thinkPHP3.2.2框架行为扩展及demo示例
2018/06/19 PHP
3款实用的在线JS代码工具(国外)
2012/03/15 Javascript
JQuery each()函数如何优化循环DOM结构的性能
2012/12/10 Javascript
jquery 获取标签名(tagName)示例代码
2013/07/11 Javascript
js截取小数点后几位的写法
2013/11/14 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
jQuery聚合函数实例
2015/05/21 Javascript
完美实现bootstrap分页查询
2015/12/09 Javascript
jQuery层级选择器_动力节点节点Java学院整理
2017/07/04 jQuery
微信小程序使用Socket的实例
2017/09/19 Javascript
基于iview-admin实现动态路由的示例代码
2019/10/02 Javascript
[54:24]Optic vs TNC 2018国际邀请赛小组赛BO2 第二场
2018/08/18 DOTA
python使用urlparse分析网址中域名的方法
2015/04/15 Python
python将文本转换成图片输出的方法
2015/04/28 Python
Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)
2017/06/27 Python
python不换行之end=与逗号的意思及用途
2017/11/21 Python
Python无损音乐搜索引擎实现代码
2018/02/02 Python
基于Django与ajax之间的json传输方法
2018/05/29 Python
Python下简易的单例模式详解
2019/04/08 Python
解决Django加载静态资源失败的问题
2019/07/28 Python
Python如何使用队列方式实现多线程爬虫
2020/05/12 Python
FOREO官方网站:LUNA露娜洁面仪
2016/11/28 全球购物
欧洲顶级体育电子商务网站:SportsShoes.com
2018/03/27 全球购物
新加坡第一的杂货零售商:NTUC FairPrice
2020/12/05 全球购物
laravel使用redis队列实例讲解
2021/03/23 PHP
中文教师求职信
2014/02/22 职场文书
航海技术专业毕业生求职信
2014/04/06 职场文书
政风行风评议心得体会
2014/10/21 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
幼儿园万圣节活动总结
2015/05/05 职场文书
阿凡达观后感
2015/06/10 职场文书
《思路决定出路》读后感3篇
2019/12/11 职场文书
Python 把两层列表展开平铺成一层(5种实现方式)
2021/04/07 Python