酒店价格日历控件
- 发表于
- javascript
基于YUI3开发的价格日历组件
- 组件名称:Y.PriceCalendar
- 依赖模块:['node', 'base-base', 'event-mouseenter']
源代码:price-calendar.js
demo:http://fgm.cc/learn/calendar/price-calendar
github:https://github.com/fugm/PriceCalendar
引入文件
在页面head引入YUI3.x.x种子
<script src="http://yui.yahooapis.com/3.5.1/build/yui/yui-min.js"></script>
配置
var config = { modules: { 'price-calendar': { fullpath: 'price-calendar.js', //根据项目路径调整 type: 'js', requires: ['price-calendar-css'] }, 'price-calendar-css': { fullpath: 'price-calendar.css', //根据项目路径调整 type: 'css' } } };
使用
YUI(config).use('price-calendar', function(Y) { var oCalendar = new Y.PriceCalendar(); //do something })
配置参数
-
date
- 概述
- (默认值:当前日期) 日历初始日期
- 类型
- Date (日期对象) 或 String (日期字符串)
-
data
- 概述
- (默认值:null) 酒店房态数据
- 类型
- Object
-
{ "2012-05-01": { "price": "100", "roomNum": "10" }, "2012-05-02": { "price": "120", "roomNum": "1" }, "2012-05-03": { "price": "150", "roomNum": "25" } }
-
count
- 概述
- (默认值:2) 日历个数
- 类型
- Number
-
minDate
- 概述
- (默认值:null) 允许操作的最小日期
- 类型
- Date (日期对象) 或 String (日期字符串)
-
maxDate
- 概述
- (默认值:null) 允许操作的最大日期
- 类型
- Date (日期对象) 或 String (日期字符串)
-
depDate
- 概述
- (默认值:空) 入住时间
- 类型
- String (日期字符串)
-
endDate
- 概述
- (默认值:空) 离店时间
- 类型
- String (日期字符串)
-
afterDays
- 概述
- (默认值:0) 等价于设置minDate和maxDate,minDate未设置时取当前日期
- 类型
- Number
接口
-
render()
- 概述
- 用于设置参数后渲染日历UI
- 返回值
- 日历对象,可做链式操作
-
prevMonth()
- 概述
- 渲染上月日历UI
- 返回值
- 日历对象,可做链式操作
-
nextMonth()
- 概述
- 渲染下月日历UI
- 返回值
- 日历对象,可做链式操作
自定义事件
-
render
- 概述
- 渲染日历UI事件
- 示例
-
var oCalendar = new Y.PriceCalendar(); oCalendar.on('render', function(e) { //do something });
-
prevmonth
- 概述
- 点击上月按钮事件
- 示例
-
var oCalendar = new Y.PriceCalendar(); oCalendar.on('prevmonth', function(e) { //do something });
-
nextmonth
- 概述
- 点击下月按钮事件
- 示例
-
var oCalendar = new Y.PriceCalendar(); oCalendar.on('nextmonth', function(e) { //do something });
-
checkin
- 概述
- 点击入住日期事件
- 示例
-
var oCalendar = new Y.PriceCalendar(); oCalendar.on('checkin', function(e) { //do something });
-
checkout
- 概述
- 点击离店日期事件
- 示例
-
var oCalendar = new Y.PriceCalendar(); oCalendar.on('checkout', function(e) { //do something });
-
confirm
- 概述
- 点击确定按钮事件
- 示例
-
var oCalendar = new Y.PriceCalendar(); oCalendar.on('confirm', function(e) { //do something });
-
cancel
- 概述
- 点击取消按钮事件
- 示例
-
var oCalendar = new Y.PriceCalendar(); oCalendar.on('cancel', function(e) { //do something });
配置参数改变事件
-
dateChange
- 概述
- 设置date参数触发事件
- 示例
-
var oCalendar = new Y.PriceCalendar(); oCalendar.on('dateChange', function(e) { //do something });
- 注释
- 已为此事件绑定render方法,在设置属性后无需再次调用render方法
-
dataChange
- 概述
- 设置data参数触发事件
- 示例
-
var oCalendar = new Y.PriceCalendar(); oCalendar.on('dataChange', function(e) { //do something });
- 注释
- 已为此事件绑定render方法,在设置属性后无需再次调用render方法
-
countChange
- 概述
- 设置count参数触发事件
- 示例
-
var oCalendar = new Y.PriceCalendar(); oCalendar.on('countChange', function(e) { //do something });
-
minDateChange
- 概述
- 设置minDate参数触发事件
- 示例
-
var oCalendar = new Y.PriceCalendar(); oCalendar.on('minDateChange', function(e) { //do something });
-
maxDateChange
- 概述
- 设置maxDate参数触发事件
- 示例
-
var oCalendar = new Y.PriceCalendar(); oCalendar.on('maxDateChange', function(e) { //do something });
-
depDateChange
- 概述
- 设置depDate参数触发事件
- 示例
-
var oCalendar = new Y.PriceCalendar(); oCalendar.on('depDateChange', function(e) { //do something });
-
endDateChange
- 概述
- 设置endDate参数触发事件
- 示例
-
var oCalendar = new Y.PriceCalendar(); oCalendar.on('endDateChange', function(e) { //do something });
-
afterDaysChange
- 概述
- 设置afterDays参数触发事件
- 示例
-
var oCalendar = new Y.PriceCalendar(); oCalendar.on('afterDaysChange', function(e) { //do something });
原文连接:酒店价格日历控件
所有媒体,可在保留署名、
原文连接
的情况下转载,若非则不得使用我方内容。