2013-04-08 41 views
0

我想在日曆中爲事件設置動畫我已更改顏色。
所以完整日曆:爲事件設置動畫

  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); 
    
    }, 
    

我該怎麼辦?

回答

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

+0

謝謝你回覆Mahesh Sapkal,但所有的事件眨眼!我可以選擇一個特定的事件嗎? – 2013-04-08 15:24:34

+0

那麼哪個條件定義事件應該閃爍或不?您可以使用event.title檢查事件的標題。讓我們說,如果你想讓下午好,只要眨眼一下,然後檢查event.title ==='下午好'。 – 2013-04-08 15:26:10

+0

其實我有一個提醒,如果(今天== dateAlert)我會改變顏色爲紅色,並眨眼事件!到目前爲止,我可以更改之前代碼的顏色,但是我無法使事件閃爍 – 2013-04-08 15:33:41

0
setInterval(function(){ 
    rdv[i].fadeOut(900).delay(300).fadeIn(800); 
},2200); 
+0

感謝您的答覆silentw,我想你的解決方案,但我仍然有這樣的錯誤: 遺漏的類型錯誤:無法調用未定義rendezvous.php的方法「淡出」:512 – 2013-04-08 11:11:25

+0

使用'$( rdv [i])'而不是'rdv [i]'。元素'rdv [i]'不是一個jQuery對象。 – silentw 2013-04-08 11:18:07

+0

我看到錯誤消失了,但沒有動畫!有什麼搞亂的? – 2013-04-08 11:22:52