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-TreeView父子联动效果保持节点状态一致
Aug 12 Javascript
JS中==与===操作符的比较
Mar 21 Javascript
JQuery中html()方法使用不当带来的陷阱
Apr 07 Javascript
通过上下左右键和回车键切换光标实现代码
Mar 08 Javascript
JavaScript获取XML数据附示例截图
Mar 05 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
May 14 Javascript
jQuery滚动新闻实现代码
Jun 26 Javascript
使用javascript做在线算法编程
May 25 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
Aug 19 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
Aug 25 Javascript
jQuery 点击获取验证码按钮及倒计时功能
Sep 20 jQuery
webpack4.x CommonJS模块化浅析
Nov 09 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
ThinkPHP的RBAC(基于角色权限控制)深入解析
2013/06/17 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
PHP实现货币换算的方法
2014/11/29 PHP
php封装的mongodb操作类代码
2017/08/06 PHP
如何在Laravel之外使用illuminate组件详解
2020/09/20 PHP
javascript Array.sort() 跨浏览器下需要考虑的问题
2009/12/07 Javascript
JavaScript中出现乱码的处理心得
2009/12/24 Javascript
jQuery获取Radio,CheckBox选择的Value值(示例代码)
2013/12/12 Javascript
js实现checkbox全选和反选示例
2014/05/01 Javascript
JavaScript闭包函数访问外部变量的方法
2014/08/27 Javascript
JS的数组迭代方法
2015/02/05 Javascript
JavaScript里实用的原生API汇总
2015/05/14 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
JavaScript Base64 作为文件上传的实例代码解析
2017/02/14 Javascript
利用JS实现scroll自定义滚动效果详解
2017/10/17 Javascript
js 显示日期时间的实例(时间过一秒加1)
2017/10/25 Javascript
js登录滑动验证的实现(不滑动无法登陆)
2018/01/03 Javascript
妙用缓存调用链实现JS方法的重载
2018/04/30 Javascript
微信小程序实现上传图片功能
2018/05/28 Javascript
angularJs中$scope数据序列化的实例
2018/09/30 Javascript
layer iframe 设置关闭按钮的方法
2019/09/12 Javascript
JS实现“全选”和&quot;全不选&quot;功能代码实例
2020/02/06 Javascript
python根据出生年份简单计算生肖的方法
2015/03/27 Python
Python实现国外赌场热门游戏Craps(双骰子)
2015/03/31 Python
浅谈Python Opencv中gamma变换的使用详解
2018/04/02 Python
Python进程间通信 multiProcessing Queue队列实现详解
2019/09/23 Python
python tkinter控件布局项目实例
2019/11/04 Python
Python实现一个简单的递归下降分析器
2020/08/01 Python
python+selenium+chrome实现淘宝购物车秒杀自动结算
2021/01/07 Python
《鞋匠的儿子》教学反思
2014/03/02 职场文书
六一节目主持词
2014/04/01 职场文书
“三支一扶”支教教师思想汇报
2014/09/13 职场文书
房产授权委托书范本
2014/09/22 职场文书
实习单位证明范例
2014/11/17 职场文书
《领导干部从政道德启示录》学习心得体会
2016/01/20 职场文书
学校2016年九九重阳节活动总结
2016/04/01 职场文书