zoukankan      html  css  js  c++  java
  • fullCalendar:中文API

    1.与google日历连接,别忘记加入<script type='text/javascript' src='js/gcal.js'/>

    events: $.fullCalendar.gcalFeed
    ("http://www.google.com/calendar/feeds/xuqi86@gmail.com/private-660ae86cc26345cff3430480e8eea4bb/basic",
      {
       className:'gcal-event',
       editable:true,
       currentTimezone:'Asia/Shanghai'
      }
    )

    2.表头信息
    agenda带有具体的时间格子
    month,basicWeek,basicDay,agendaWeek,agendaDay 是5种不同的视图
    空格和,的区别

    header:{
    left:   'month,basicWeek,basicDay,agendaWeek,agendaDay',
    center: 'title',
    right:  'prevYear,prev,today,next,nextYear'
    }

    3.是否使用 jquery的主题(我用的是start主题)
    <link type="text/css" href="css/start/jquery-ui-1.7.2.custom.css" rel="stylesheet" />
    <script type="text/javascript" src="js/jquery-ui-1.7.2.custom.min.js"></script>
    <script type='text/javascript' src='js/jquery.js'>

    theme:true

    4.
    buttonText:{
    prev:     '昨天',
    next:     '明天',
    prevYear: '去年',
    nextYear: '明年',
    today:    '今天',
    month:    '月',
    week:     '周',
    day:      '日'
    }

    5.每周的第一天是哪天
    Sunday=0, Monday=1, Tuesday=2, etc.

    firstDay:1

    6.日期从右向左显示...不知道什么时候会这么用
    isRTL:false

    7.是否显示周末
    weekends:true

    8.在月视图里显示周的模式,因为可能每月周数不同,所以月视图高度不一定,注意引号
    fixed 固定显示6周高,高度永远保持不变
    liquid 不固定周数,周高度可变化
    variable 不固定周数,但高度固定

    weekMode:'fixed'

    9.日历高度,包括表头
    height: 850
    内容高度,不包括表头
    contentHeight: 600

    10.单元格宽与高度的比值
    注意:此属性不能与日历高度同时存在

    aspectRatio: 1.35

    11.切换视图的时候要执行的操作
    view是一个对象,后面将说道具体的属性

    viewDisplay:function(view){}

    12.窗口大小变化时执行的操作
    windowResize: function(view){}

    13.把日历绑定到一个id的东西上
    $('#id').fullCalendar('render');

    14.销毁id日历
    把日历回复到初始化前,删除了所有元素,时间,和初始化数据
    $('#id').fullCalendar('destroy');

    15.默认显示的视图,注意引号
    defaultView:'month'

    16.view对象的属性
    name: 包括month,basicWeek,basicDay,agendaWeek,agendaDay
    title: 标题内容(例如"September 2009" or "Sep 7 - 13 2009")
    start:Date类型, 该view下的第一天.
    end:Date类型, 该view下的最后一天.  由于是一个闭合的值, 所以, 比如在month view下, 10月这个月份, 那么end对应的应该是11月的第一天.
    visStart:Date类型. 在该view下第一个可以访问的day. month view下, 该值是当月的第一天, week view下, 则通常和start一致.
    visEnd: Date类型, 最后一个可访问的day

    17.集中设定初始化值
    可以设置的属性有 dragOpacity, titleFormat, columnFormat, and timeFormat
    被应用的视图有
    {
        month:      // month view
        week:       // basicWeek & agendaWeek views
        day:        // basicDay & agendaDay views

        agenda:     // agendaDay & agendaWeek views
        agendaDay:  // agendaDay view
        agendaWeek: // agendaWeek view

        basic:      // basicWeek & basicDay views
        basicWeek:  // basicWeek view
        basicDay:   // basicDay view

        '':         // (an empty string) when no other properties match
    }

    18.取得视图对象
    .fullCalendar('getView')->View Object

    var view = $('#calendar').fullCalendar('getView');
    alert("The view's title is " + view.title);

    19.改变当前视图
    .fullCalendar('changeView',viewName)

    20.20里以下属性都是在agenda视图里起作用的
    在agenda开头的视图里,是否显示最上面all-day那一栏
    allDaySlot:true

    默认的文字:
    allDayText:'今天的任务'

    左边那一列时间的格式:
    axisFormat:'h(:mm)tt'
    ()表示整点就不显示里面的内容

        支持的格式化占位符
    1. s: 秒
    2. ss: 秒, 两位
    3. m: 分钟
    4. mm: 分钟, 两位
    5. h: 小时, 12小时制
    6. hh: 小时, 12小时制, 两位
    7. H: 小时, 24小时制
    8. HH: 小时, 24小时制, 两位
    9. d: 日期数字
    10. dd: 日期数字, 两位
    11. ddd: 日期名称, 缩写
    12. dddd: 日期名称, 全名
    13. M: 月份数字
    14. MM: 月份数字, 两位
    15. MMM: 月份名称, 缩写
    16. MMMM: 月份名称, 全名
    17. yy: 两位的年份
    18. yyyy: 4位的年份
    19. t: 上下午加 a或者p
    20. tt: 上下午加am或pm
    21. T: 上下午加A 或者P
    22. TT: 上下午加AM或PM
    23. u: ISO8601格式
    24. S: 给日期加上st, nd, rd, th等后缀, 表明是第几天

    每行的时间间隔
    slotMinutes:10

    滚动条滚动到得起始时间
    firstHour: 7

    每天从几点起开始显示
    minTime:7
    minTime:'7:30'
    如果加上了分钟需要设置时间间隔

    每天显示到几点结束
    maxTime:24
    maxTime:'23:10'

    事件默认的时间执行长度
    defaultEventMinutes:120
    此时,如果事件对象没有指定执行多长时间,则默认执行两个小时,后面将说到事件对象

    21.当前日期
    year: 必须是4位数字,如果不指定,则是当前年
    month: 当前月,从0开始,如果当前年和月都未指定,则月显示为1月
    date:日期的一个月,这个属性只和周视图和日视图有关,如果没指定,并且年月也没有指定,则显示一个月的第一天

    以下8个关于操作日期的方法
    .fullCalendar('prev') 返回到上一个年月日,与视图的种类有关
    .fullCalendar('next')
    .fullCalendar('prevYear')
    .fullCalendar('nextYear')
    .fullCalendar('today')
    .fullCalendar( 'gotoDate', year [, month, [ date ]] )  注意月从0开始
    .fullCalendar( 'incrementDate', years [, months, [ days ]] )
    .fullCalendar( 'getDate' ) -> Date 取得一个日期对象

    $('#my-button').click(function() {
        var d = $('#calendar').fullCalendar('getDate');
        alert("The current date of the calendar is " + d);
    });

    22.指定默认的时间格式
    timeFormat:h(:mm)tt

    23.指定默认的列格式

    columnFormat:{
        month: 'ddd',    // Mon
        week: 'ddd M/d', // Mon 9/7
        day: 'dddd M/d'  // Monday 9/7
    }

    24.标题格式化
    titleFormat:{
        month: 'MMMM yyyy',                             // September 2009
        week: "MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}", // Sep 7 - 13 2009
        day: 'dddd, MMM d, yyyy'                  // Tuesday, Sep 8, 2009
    }

    25.月显示的名字
    monthNames:['January', 'February', 'March', 'April', 'May', 'June', 'July',
    'August', 'September', 'October', 'November', 'December']

    monthNames:['一月','二月', '三月', '四月', '五月', '六月', '七月',
    '八月', '九月', '十月', '十一月', '十二月']

    月名字的简写
    monthNamesShort:['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'
    'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']

    26.星期显示的名字
    dayNames:['Sunday', 'Monday', 'Tuesday', 'Wednesday',
    'Thursday', 'Friday', 'Saturday']

    dayNames:['星期日', '星期一', '星期二', '星期三',
    '星期四', '星期五', '星期六']

    星期名字的缩写
    dayNamesShort:['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']

    27.4个关于鼠标的回调方法
    当点击某一天时触发此操作
    dayClick:function( date, allDay, jsEvent, view ) { }

    dayClick: function(date, allDay, jsEvent, view) {

            if (allDay) {
                alert('Clicked on the entire day: ' + date);
            }else{
                alert('Clicked on the slot: ' + date);
            }

            alert('Coordinates: ' + jsEvent.pageX + ',' + jsEvent.pageY);

            alert('Current view: ' + view.name);

            // change the day's background color just for fun
            $(this).css('background-color', 'red');

        }

    当点击某一个事件时触发此操作
    eventClick:function( event, jsEvent, view ) { }

    eventClick: function(calEvent, jsEvent, view) {

            alert('Event: ' + calEvent.title);
            alert('Coordinates: ' + jsEvent.pageX + ',' + jsEvent.pageY);
            alert('View: ' + view.name);

            // change the border color just for fun
            $(this).css('border-color', 'red');

        }

    当鼠标悬停在一个事件上触发此操作
    eventMouseover:function( event, jsEvent, view ) { }

    当鼠标从一个事件上移开触发此操作
    eventMouseout:function( event, jsEvent, view ) { }

    28.事件对象
    fullcalendar用来存储一个日历事件信息的标准对象
    一下属性中,只有title和start是必须的

    id:String/Integer (optional)
    title:String
    allDay:true or false (optional)  指定是否是全天事件
    start:Date 事件开始时间,格式如下
    IETF format (ex: "Wed, 18 Oct 2009 13:00:00 EST")
    ISO8601 format (ex: "2009-11-05T13:15:30Z")
    end: Date (optional) 事件结束时间
    如果事件是一个全天事件,则结束时间包括在内
    如果事件不是全天事件,结束时间是0:00,则结束时间的第二天不包括在内
    url:String (optional)  当用户点击时,将会访问的网址
    className: String/Array (optional) 这个事件使用的css 类名
    editable:true or false (optional) 事件是否可编辑
    source: Array/String/Function (automatically populated) 事件源,自动指定
    除了以上属性外,你可以自己指定属性和值

    29.事件数组 events (as an array)
    events: [
            {
                title  : 'event1',
                start  : '2010-01-01'
            },
            {
                title  : 'event2',
                start  : '2010-01-05',
                end    : '2010-01-07'
            },
            {
                title  : 'event3',
                start  : '2010-01-09 12:30:00',
                allDay : false // will make the time show
            }
        ]

    事件Json源 events (as a json feed)
    events: "/myfeed.php" 该URL返回一个json或数组的日程事件组, GET参数视startParam和endParam选项而定
    当用户改变视图时触发此事件,FullCalendar 将通过GET方法传递参数来确定需要哪些日程数据
    /myfeed.php?start=1262332800&end=1265011200&_=1263178646
    startParam:'start' 开始参数的名字
    endParam:'end' 结束参数的名字
    cacheParam:'_' 缓存参数的名字
    lazyFetching:true 只有当需要的时候才取得数据,先从缓存里读取数据

    _参数是自动加上去的,防止读缓存内容

    日程事件 events (as a function)
    events:function( start, end, callback ) { }

    events: function(start, end, callback) {
            $.ajax({
                url: 'myxmlfeed.php',
                dataType: 'xml',
                data: {
                    // our hypothetical feed requires UNIX timestamps
                    start: Math.round(start.getTime() / 1000),
                    end: Math.round(end.getTime() / 1000)
                },
                success: function(doc) {

                    var events = [];

                    $(doc).find('event').each(function() {
                        event.push({
                            title: $(this).attr('title'),
                            start: $(this).attr('start') // will be parsed
                        });
                    });

                    callback(events);
                }
            });
        }

    30.事件源

    eventSources 存储数组对象,可以是Arrays/Functions/URLs

    eventSources: [
            $.fullCalendar.gcalFeed("http://www.google.com/feed1"),
            $.fullCalendar.gcalFeed("http://www.google.com/feed2")
        ]

    31.日程默认为全天日程
    allDayDefault:true

    32.当读取ajax数据时
    loading:function( isLoading, view )
    当开始读取的时候是true,当读取完成是false

    33.改变日程事件
    updateEvent:

    eventClick: function(event, element) {
            event.title = "CLICKED!";
            $('#calendar').fullCalendar('updateEvent', event);

        }
    日程对象可以通过回调函数被获得,比如 eventClick 或者 clientEvents的方法

    34.取得客户端内存中保存的日程对象
    clientEvents
    .fullCalendar( 'clientEvents' [, idOrFilter ] ) -> Array 返回一个日程对象的数组
    如果idOrFilter不写,则输出全部保存在客户端的日程对象数组
    如果为ID ,则返回所有为此ID的对象
    还可以为一个过滤function 接受一个日程对象,如果返回true,则此值包含在客户端对象组中国

    35.从日历中删除日程
    removeEvents 参数同上

    36.重新取得日程
    .fullCalendar('refetchEvents') 从所有源并且重新渲染到屏幕上

    37.增加一个日程源
    .fullCalendar('addEventSource',source)
    源可以是Array/URL/Function ,获取的数据可以立刻显示在日历上

    38.删除一个事件源
    .fullCalendar('removeEventSource',source)

    39.日程绑定
    eventRender.function( event, element, view ) { }
    event 是企图被渲染的日程对象
    element 是一个新建的jQuery<div>被用来渲染的,他已经在恰当的时间被创建

    eventRender 返回函数可以修改element,返回一个新的dom元素,用来替换被渲染的元素,或者返回false,禁止被渲染

    40.日程渲染后事件
    eventAfterRender:function( event, element, view ) { }

    41.渲染事件
    .fullCalendar('renderEvent',event[,stick])
    通常,一旦日历重新取得日程源,则原有日程将消失,当指定stick为true时,日程将永久的保存到日历上

    42.重新渲染所有事件
    rerenderEvents
    .fullCalendar('rerenderEvents')

    43.是否可以拖拽和改变大小
    editable:true

    44.禁止拖拽和改变大小
    disableDragging:false
    disableResizing:false

    45.如果拖拽不成功,多久回复原状
    dragRevertDuration:500  单位是毫秒

    46.拖拽不透明度
    dragOpacity:{
    agenda:.5 //对于agenda试图
    '':1.0   //其他视图
    }

    47.需要的js包
    <script type='text/javascript' src='js/ui.core.js'/>
    <script type='text/javascript' src='js/ui.draggable.js'/>
    <script type='text/javascript' src='js/ui.resizable.js'/>
    注意顺序,要把jquery.js放到这3个包前面

    48.拖拽事件引发的操作
    eventDragStart:function(event,jsEvent,ui,view) { }
    eventDragStop:function( event, jsEvent, ui, view ) { }

    49.当拖拽完成并且时间改变
    eventDrop:function( event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view ) { }

    dayDelta 保存日程向前或者向后移动了多少天
    minuteDelta 这个值只有在agenda视图有效,移动的时间
    allDay 如果是月视图,或者是agenda视图的全天日程,此值为true,否则为false

    eventDrop: function(event,dayDelta,minuteDelta,allDay,revertFunc) {

            alert(
                event.title + " was moved " +
                dayDelta + " days and " +
                minuteDelta + " minutes."
            );

            if (allDay) {
                alert("Event is now all-day");
            }else{
                alert("Event has a time-of-day");
            }

            if (!confirm("Are you sure about this change?")) {
                revertFunc();
            }

        }

    50.改变大小的事件触发的操作
    eventResizeStart:function( event, jsEvent, ui, view ) { }
    eventResizeStop:function( event, jsEvent, ui, view ) { }
    eventResize:function( event, dayDelta, minuteDelta, revertFunc, jsEvent, ui, view ) { }



    详细文档:http://arshaw.com/fullcalendar/docs/


    转自:http://www.cnblogs.com/yuanxianlai/archive/2012/03/31/2427117.html

  • 相关阅读:
    微人事项目-mybatis-持久层
    通过外键连接多个表
    springioc
    Redis 消息中间件 ServiceStack.Redis 轻量级
    深度数据对接 链接服务器 数据传输
    sqlserver 抓取所有执行语句 SQL语句分析 死锁 抓取
    sqlserver 索引优化 CPU占用过高 执行分析 服务器检查
    sql server 远程备份 bak 删除
    冒泡排序
    多线程 异步 beginInvoke EndInvoke 使用
  • 原文地址:https://www.cnblogs.com/q4486233/p/4283911.html
Copyright © 2011-2022 走看看