2012-01-24 50 views
0

林.slidedown試圖建立自動顯示最新條目到數據庫表,更新每次進入一個新行時間activty流。如何使用jQuery與Prototype的.PeriodicalUpdater

在它的工作原理是使用Prototype的Ajax.PeriodicalUpdater不斷地檢查新條目,然後顯示給用戶的時刻,但它的跳動。

我想在數據庫中發現的幻燈片,從使用jQuery的.slidedown動畫頂部的任何新條目。

這裏是我在與活動流頁面上的那一刻

<div id="activity"></div> 

和JavaScript:

Event.observe(window, 'load', function() { 
updater('activity', 'activities.php'); 
}); 

function updater(element_id, element_page) 
{ 
    new Ajax.PeriodicalUpdater(element_id, element_page, { 
    method: 'get', 
    frequency: 1, 
    decay: 2 
    }); 
} 

activities.php:

foreach($activities as $activity) 
{ 
    // get time since created 
    $created = strtotime($activity['Activity']['created']); 
    $time_since = $this->Time->timeAgoInWords($created); 
    ?> 
    <div id="activity_item"> 
    <span id="type"><?php echo $activity['Activity']['type']?></span> 
    <span id="created"><?php echo $time_since ?></span><br /> 
    <span id="event"><?php echo $activity['Activity']['event']?></span> 
    </div> 
    <?php 
} 

如何牛逼任何想法o然後合併滑動動畫?還是我這樣做完全錯誤?

回答

0

你可能已經使用jQuery定期更新插件運氣比較好,在這裏找到:https://github.com/RobertFischer/JQuery-PeriodicalUpdater/

舉個例子,這將/path/to/get/request輪詢和新條目添加到id #feed塊的頂部(其中有最多5個項目)。

$.PeriodicalUpdater('/path/to/get/request', 
    {method: 'get', data: '', minTimeout: 10000, maxTimeout: 32000, 
    multiplier: 2, type: 'json', maxCalls: 0, autoStop: 0}, 
function(d, success, xhr, handle) { 
    $("#feed").prepend('<h3>'+d.something+'</h3>'); 
    $("#feed").children().first().css("display", "none"); 
    if ($("#feed").children().length > 5) { 
     $("#feed").children().last().remove(); 
    } 
    $("#feed").children().first().addClass("first") 
     .next().removeClass("first"); 
    $("#feed").children().first().slideDown(200); 
}); 
+0

感謝有一點玩弄它,但它的工作現在。 –