• 酒店预订价格显示日历


    <!DOCTYPE HTML>
    <html>
    <head>
        <meta charset="utf-8">
        <meta name="author" content="angtian">
        <meta name="description" content="酒店价格日历组件Demo">
        <meta name ="keywords" content="日历, 日历组件, 价格日历">
        <title>酒店价格日历Demo</title>
    <style>
    body{padding:0;margin:0 10px;}
    .title{padding:0;margin:10px 0;font:700 18px/1.5 5fae8f6f96c59ed1;}
    .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;}
    </style>
    <script src="http://yui.yahooapis.com/3.5.1/build/yui/yui-min.js"></script>
    <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', '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') + '
    离店时间:' + 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('u663eu793au623fu6001').removeClass('J_Show') :
                        oTarget.ancestor().append('<button class="J_RoomStatus">u663eu793au623fu6001</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('u9690u85cfu623fu6001')
                                    }
                                }
                            }
                        );
                    else {
                        this.set('data', null);
                        oTarget.setContent('u663eu793au623fu6001');
                    }
                    break;              
            }
        }, 'button', oCal);
    });
    </script>
    </head>
    <body>
    <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-10-01">指定日历时间并限定范围(2017年10月1号->60天)</button> 
    </div>
    </body>
    </html>
  • 相关阅读:
    linux防火墙,高级策略策略实例详解(实例一)
    ftp文件共享服务详解
    使用nmap 验证多种漏洞
    powerCat进行常规tcp端口转发
    1111
    powershell下ssh客户端套件实现
    powershell加载EXE进内存运行
    44
    面对问题 认清自己
    22
  • 原文地址:https://www.cnblogs.com/lmg-jie/p/7562689.html
Copyright © 2020-2023  润新知