可显示价格的酒店入住离店日历选择代码

可显示价格的酒店入住离店日历选择代码

添加时间:2021-03-22 19:58:43
站长推荐丨赞助论坛,可获取海量资源终身免费下载权限奥!
举报 举报
收藏
预览
附件 附件
  • 模板类型模板类型:日期控件
  • 模板颜色模板颜色:初级
  • 下载积分下载积分:28 米粒
  • 下载权限下载权限:

    赞助会员

一款可显示价格的酒店入住离店日历选择代码,除了自由选择日历时间段外,还可以通过上面的按钮来切换不同的选项内容,显示对应日期有无房间、价格、剩余房间的信息,整体功能还是比较使用的,喜欢的童鞋请收下吧。
可显示价格的酒店入住离店日历选择代码
分类:日期时间 > 日期控件 难易:初级

页面的head部分,先简单设置演示页面的样式,代码如下:

body{padding:0;margin:0 10px;}
.title{padding:0;margin:10px 0;font:700 18px/1.5 \5fae\8f6f\96c5\9ed1;}
.title em{font-style:normal;color:#C00;font-size:14px;}
.title a{font:400 14px/1.5 Tahoma;}
.example{margin-top:10px;}
.example button{margin:0 5px 10px 0;}

接着远程调用yui-min.js文件,配置日历插件设置相关参数,代码如下:

<script src="http://yui.yahooapis.com/3.5.1/build/yui/yui-min.js"></script>
<script type="text/javascript">
var config = {
	modules: {
		'price-calendar': {
			fullpath: 'js/price-calendar.js',
			type    : 'js',
			requires: ['price-calendar-css']
		},
		'price-calendar-css': {
			fullpath: 'css/price-calendar.css',
			type    : 'css'
		}
	}
};
YUI(config).use('price-calendar', 'jsonp', function(Y) {
    var sub  = Y.Lang.sub;
    var url = 'http://fgm.cc/learn/calendar/price-calendar/getData.asp?minDate={mindate}&maxDate={maxdate}&callback={callback}';
    
    //价格日历实例    
    var oCal = new Y.PriceCalendar();
    
        //点击确定按钮
        oCal.on('confirm', function() {
            alert('入住时间:' + this.get('depDate') + '\n离店时间:' + this.get('endDate'));
        });
        
        //点击取消按钮
        oCal.on('cancel', function() {
            this.set('depDate', '').set('endDate', '').render();
        });
    
    Y.one('#J_Example').delegate('click', function(e) {
        var that    = this,
            oTarget = e.currentTarget;
        switch(true) {
            //设置日历显示个数
            case oTarget.hasClass('J_Count'):
                this.set('count', oTarget.getAttribute('data-value')).render();
                break;
            //时间范围限定
            case oTarget.hasClass('J_Limit'):
                this.set('data', null)
                    .set('depDate', '')
                    .set('endDate', '')
                    .set('minDate', '')
                    .set('afterDays', oTarget.getAttribute('data-limit'));
                if(!oTarget.hasAttribute('data-date')) {
                    this.set('date', new Date())
                }
                else {
                    var oDate = oTarget.getAttribute('data-date');
                    this.set('minDate', oDate);
                    this.set('date', oDate);
                }
                oTarget.ancestor().one('.J_RoomStatus') ?
                    oTarget.ancestor().one('.J_RoomStatus').setContent('\u663e\u793a\u623f\u6001').removeClass('J_Show') :
                    oTarget.ancestor().append('<button class="J_RoomStatus">\u663e\u793a\u623f\u6001</button>');
                break;
            //异步拉取酒店数据
            case oTarget.hasClass('J_RoomStatus'):
                oTarget.toggleClass ('J_Show');
                if(oTarget.hasClass('J_Show'))
                    Y.jsonp(
                        sub(url, {
                            mindate:this.get('minDate'),
                            maxdate:this.get('maxDate')
                        }),
                        {
                            on: {
                                success: function(data) {
                                    that.set('data', data);
                                    oTarget.setContent('\u9690\u85cf\u623f\u6001')
                                }
                            }
                        }
                    );
                else {
                    this.set('data', null);
                    oTarget.setContent('\u663e\u793a\u623f\u6001');
                }
                break;              
        }
    }, 'button', oCal);
});
</script>

页面的body部分,多个button作为多个选项的触发按钮,代码如下:

<h1 class="title">可显示价格的酒店入住离店日历选择代码<em>(限定范围后可异步加载房态信息)</em><a href="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>
    <br />
    <button class="J_Limit" data-limit="90">限定范围(今天->90天)</button>
    <button class="J_Limit" data-limit="60" data-date="2017-06-01">指定日历时间并限定范围(2012年06月1号->60天)</button>
</div>
上一篇:暂无
下一篇:jQuery演示5种不同的倒计时
相关内容推荐
资源求助发帖
查看更多发帖

*

回帖描述:

*

链接类型:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
热点内容推荐
标题:可显示价格的酒店入住离店日历选择代码

*

描述:
平均回复时间:3-10分钟
规则介绍:悬赏寻求论坛网友分享资源,站点对分享内容的准确性,合法性,版权等没有足够的监管能力。如果您发现资源不正确,无法使用,不符合法律法律等情况,您可以直接举报资源。站长将尽快核实您的举报,并根据情况,采取封号,退换米粒等处理。

*

回帖描述:

*

链接类型:

*

阅读权限:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
  • 背景波浪
  • 背景波浪
  • 波浪
  • 波浪
客服
在线咨询
周一 至 周日 9:00 ~ 22:00
QQ:1326974360
微信:juyoubuluo6688
客服热线
18205485173
工作日 9:00 ~ 18:00
微信扫码咨询
客户服务
欢迎咨询服务
咨询量较多时,请耐心等待
社群

关注公众号

获取更多资讯

扫码进群(QQ)

与更多大牛交流沟通

0.087295s