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 相关文章推荐
js 上传图片预览问题
Dec 06 Javascript
为jQuery添加Webkit的触摸的方法分享
Feb 02 Javascript
javascript中的循环语句for语句深入理解
Apr 04 Javascript
jQuery延迟加载图片插件Lazy Load使用指南
Mar 25 Javascript
Bootstrap基本样式学习笔记之按钮(4)
Dec 07 Javascript
使用bootstrap插件实现模态框效果
May 10 Javascript
用Vue写一个分页器的示例代码
Apr 22 Javascript
node中modules.exports与exports导出的区别
Jun 08 Javascript
JavaScript 面向对象基础简单示例
Oct 02 Javascript
Javascript 类型转换、封闭函数及常见内置对象操作示例
Nov 15 Javascript
vue3.0 上手体验
Sep 21 Javascript
jQuery class属性操作addClass()与removeClass()、hasClass()、toggleClass()
Mar 31 jQuery
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
人族 Terran 魔法与科技
2020/03/14 星际争霸
win2003服务器使用WPS的COM组件的一些问题解决方法
2012/01/11 PHP
phpmyadmin打开很慢的解决方法
2014/04/21 PHP
php利用smtp类实现电子邮件发送
2015/10/30 PHP
php 使用curl模拟ip和来源进行访问的实现方法
2017/05/02 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
破解Session cookie的方法
2006/07/28 Javascript
jquery isType() 类型判断代码
2011/02/14 Javascript
javascript计时器事件使用详解
2014/01/07 Javascript
JavaScript对IE操作的经典代码(推荐)
2014/03/10 Javascript
纯js实现遮罩层效果原理分析
2014/05/27 Javascript
JS模拟Dialog弹出浮动框效果代码
2015/10/16 Javascript
AngularJS优雅的自定义指令
2016/07/01 Javascript
详解vue嵌套路由-query传递参数
2017/05/23 Javascript
django简单的前后端分离的数据传输实例 axios
2020/05/18 Javascript
Python脚本实现下载合并SAE日志
2015/02/10 Python
Python写入CSV文件的方法
2015/07/08 Python
Python图像处理之识别图像中的文字(实例讲解)
2018/05/10 Python
pytorch: tensor类型的构建与相互转换实例
2018/07/26 Python
使用python搭建服务器并实现Android端与之通信的方法
2019/06/28 Python
Python 矩阵转置的几种方法小结
2019/12/02 Python
.dcm格式文件软件读取及python处理详解
2020/01/16 Python
解析python 中/ 和 % 和 //(地板除)
2020/06/28 Python
浅谈python 类方法/静态方法
2020/09/18 Python
Melissa香港官网:MDreams
2016/07/01 全球购物
Omio俄罗斯:一次搜索公共汽车、火车和飞机的机票
2018/11/17 全球购物
eDreams意大利:南欧领先的在线旅行社
2018/11/23 全球购物
ORACLE第二个十问
2013/12/14 面试题
市优秀教师事迹材料
2014/02/05 职场文书
单位活动策划方案
2014/08/17 职场文书
园艺专业毕业生求职信
2014/09/02 职场文书
市级三好生竞选稿
2015/11/21 职场文书
小学2016年第十八届推普周活动总结
2016/04/05 职场文书
2019学子的答谢词范本!
2019/07/05 职场文书
MySQL 5.7常见数据类型
2021/07/15 MySQL
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫