Как обновлять мой API Twitter каждые 15 секунд? - PullRequest
2 голосов
/ 16 июля 2010

Мне удалось установить скрипт jquery для TWITTER API, но я не могу понять, как сделать так, чтобы скрипт обновлялся последними твитами, не обновляя всю страницу за 15 секунд. Можно ли использовать .load или refreshID для перезагрузки скрипта? Могу ли я также включить и исчезнуть при перезагрузке функции?

Кто-нибудь делал это?

Большое спасибо.

Эрик

Вот мой сценарий:

<script src="/src/jquery/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="/src/jquery/jquery.jtwitter.min.js" type="text/javascript"></script>

<script type="text/javascript">
$(document).ready(function(){
    // Get latest 6 tweets by jQueryHowto
    $.jTwitter('eriksnet', 3, function(data){
        $('#posts').empty();
        $.each(data, function(i, post){
        $('#posts').append(
            '<div class="post">'
            +' <div class="txt">'
            // See output-demo.js file for details
            +    post.text
            +' </div>'
            +'</div>'
        );
    });
});
});
</script>



<div id="posts">Getting Erik's tweets...</div>

Ответы [ 3 ]

1 голос
/ 16 июля 2010

Вы захотите создать interval, чтобы ваше приложение опрашивало каждые 15 секунд. В центре разработчиков Mozilla есть статья об основах использования setInterval , которая поможет вам начать работу.

По сути, вы будете делать что-то вроде этого:

var f = function(){
    $.jTwitter('[user]',6,function(data){
        $('#posts').fadeOut('fast',function(){
            // build your html
            $(this).append(yourHtml).fadeIn();
        });
    });
};
$(document).ready(function(){ setInterval(f,15000); });
1 голос
/ 16 июля 2010

посмотрите на плагин jquery $ .doTimeout, это делает его довольно тривиальным.

http://benalman.com/projects/jquery-dotimeout-plugin/

<script type="text/javascript">
$(document).ready(function(){
    // Get latest 6 tweets by jQueryHowto
    $.doTimeout(15000, function() {
        $.jTwitter('eriksnet', 3, function(data){
            $('#posts').empty();
            $.each(data, function(i, post){
                $('#posts').append(
                    '<div class="post">'
                    +' <div class="txt">'
                    // See output-demo.js file for details
                    +    post.text
                    +' </div>'
                    +'</div>'
                );
            });
        });
        return true;
    });
});
</script>

Просто убедитесь, что вы включили файл js dotimeout в свой код.

1 голос
/ 16 июля 2010

Попробуйте поместить вызов jTwitter в функцию и вызвать его через setInterval

http://www.elated.com/articles/javascript-timers-with-settimeout-and-setinterval/

(примерно на полпути вниз по странице)

...