【问题标题】:Full Calendar: Animate an event完整日历:为事件设置动画
【发布时间】:2013-04-08 10:59:56
【问题描述】:

我想在更改颜色的日历中为活动设置动画。
所以

  1. 我从数据库中选择我的日期警报,我比较日期(日期警报,今天)

  2. 我改变颜色事件

  3. 我动画事件

    eventRender: function(event, element) { 
    
    function compareDates() {
    
    var d = new Date();
    var today = d.format("yyyy-mm-dd HH:MM:ss");
    <?php 
    mysql_connect("","","");
    mysql_select_db("");
           $requete = mysql_query('SELECT * FROM evenement where id_user=1 ') ;
           while ($ligne=mysql_fetch_array($requete))
           {
            $date=$ligne['dateAlert'];
            $id=$ligne['id_event'];
    
            ?>
    
    var dateAlert = '<?php echo $date;?>';
    if(dateAlert == today){
    var id='<?php echo $id;?>';
    
    alert('alert ID rdv:'+id);
    
    var rdv=$('#calendar').fullCalendar( 'clientEvents');
    for (i=0; i<=rdv.length-1; i++) {
    
    if(rdv[i].id==id){
    rdv[i].backgroundColor='red';
    rdv[i].borderColor='red';
    
        $('#calendar').fullCalendar('renderEvent', id );
    
            }
    
    }
      //where i put this ligne?
    
     setInterval(function(){ element.fadeOut(900).delay(300).fadeIn(800);
                            },2000);
    }
    
     <?php }?>
    
    }
        myvar=setInterval(function(){compareDates()},1000);
    
    },
    

我该怎么办?

【问题讨论】:

    标签: jquery fullcalendar


    【解决方案1】:

    查看演示,希望这符合您的要求。

            var date = new Date();
            var d = date.getDate();
            var m = date.getMonth();
            var y = date.getFullYear();
    
    
            Date.prototype.formatMMDDYYYY = function(){
                return this.getMonth() + 
                "/" +  this.getDate() +
                "/" +  this.getFullYear();
            }
    
            var todaysDate = new Date();
    
            var rdv = $('#calendar').fullCalendar({
                        header: {
                            left: 'prev,next today',
                            center: 'title',
                            right: 'month,agendaWeek,agendaDay'
                        },
                        editable: true,
                        events: [
                            {
                                  "title":"Hello World",
                                  "start":"Wed, 08 Apr 2013 09:00:00 EST",
                                  "end":"Wed, 08 Apr 2013 10:00:00 EST"
                            },
                            {
                                  "title":"Good Afternoon",
                                  "start":"Wed, 03 Apr 2013 13:00:00 EST",
                                  "end":"Wed, 03 Apr 2013 17:00:00 EST"
                            },
                        ],
                        eventRender: function(event, element) {
                            var eventDate = new Date(event.start);
                            if(todaysDate.formatMMDDYYYY() === eventDate.formatMMDDYYYY()) {
                                setInterval(function(){
                                    element.fadeOut(900).delay(300).fadeIn(800);
                                },2000);
                            }
    
                        }
                    });
    

    DEMO

    【讨论】:

    • 感谢您回复 Mahesh Sapkal,但所有事件都在闪烁!我可以选择一个特定的事件吗?
    • 那么哪个条件定义了事件应该闪烁还是不闪烁???您可以使用 event.title 检查事件的标题。假设您希望 Good Afternoon 只闪烁,然后检查 event.title === 'Good Afternoon'。
    • 实际上我有一个警报 if(today== dateAlert) 我会将颜色更改为红色并闪烁事件!到目前为止,我可以更改前面代码中的颜色,但我无法让事件闪烁
    • 看起来很完美,但我做不到!!顺便说一句,我已经编辑了我的代码!我还在搞事情!!
    • 我怎样才能让它工作?仍然没有动画或所有事件都在闪烁!
    【解决方案2】:
    setInterval(function(){
        rdv[i].fadeOut(900).delay(300).fadeIn(800);
    },2200);
    

    【讨论】:

    • 感谢您的回复silentw,我尝试了您的解决方案,但我仍然有这个错误:未捕获的TypeError:无法调用未定义的rendezvous.php的方法'fadeOut':512
    • 使用$(rdv[i]) 而不是rdv[i]rdv[i] 元素不是 jQuery 对象。
    • 我看到错误消失了,但没有动画!有什么乱七八糟的?
    • 也许你可以在一些网站上发布一些例子,例如 jsfiddle.net 我可以提供更多帮助......
    猜你喜欢
    • 2014-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多