2012-02-20 17 views
0

このコードを変更してjquery用の標準文書に追加して、すべてのスクリプトが一緒にできるようにするにはどうすればよいですか?jquery関数/コールバックを書類準備完了に移動する方法

/* 
* Fetch RSS feed once page has finished loading. 
*/ 
(function(url, callback) { 
    jQuery.ajax({ 
     url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&callback=?&q=' + encodeURIComponent(url), 
     dataType: 'json', 
     success: function(data) { 
      callback(data.responseData.feed); 
     } 
    }); 
})('http://www.bet365.com/news/en/betting/sports/rss', function(feed){ 
    var entries = feed.entries, content, publishDate; 
    for (var i = 0; i < entries.length; i++) { 
     publishDate = new Date(entries[i].publishedDate); 
     date = publishDate.getDate() + '/' + publishDate.getMonth() + '/' + publishDate.getFullYear(); 
     content = truncateText((entries[i].contentSnippet) ? entries[i].contentSnippet : entries[i].content, 100); 
     jQuery('#rss > ul').append('<li><a href="' + entries[i].link + '" title=" ' + content + ' " target="_blank"><span> ' + date + '</span>' + entries[i].title + '</a></li>'); 
    } 
}); 
+0

$(function(){/ *ここのすべてのコードをここに* /}); –

+0

このコードを.readyコードに追加することを止めるものはありません。あなたはそれをそこに置くことによって何をしようとしているのか、より具体的になりますか?たぶん私は何かが欠けているでしょう。 – sngregory

答えて

2

は、機能を分離引数として渡された場合..それを使い方が分かります。

var my_callback = function(feed){ // Change to desired URL 
    var entries = feed.entries, content, publishDate; 
    for (var i = 0; i < entries.length; i++) { 
     publishDate = new Date(entries[i].publishedDate); 
     date = publishDate.getDate() + '/' + publishDate.getMonth() + '/' + publishDate.getFullYear(); 
     content = truncateText((entries[i].contentSnippet) ? entries[i].contentSnippet : entries[i].content, 100); 
     jQuery('#rss > ul').append('<li><a href="' + entries[i].link + '" title=" ' + content + ' " target="_blank"><span> ' + date + '</span>' + entries[i].title + '</a></li>'); 
    } 

function make_ajax_call(url, callback) { 
    jQuery.ajax({ 
     url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&callback=?&q=' + encodeURIComponent(url), 
     dataType: 'json', 
     success: function(data) { 
      callback(data.responseData.feed); 
     } 
    }); 
} 

then

$(document).ready(function(){ 
    make_ajax_call('http://www.bet365.com/news/en/betting/sports/rss',my_callback); 
}); 
+0

この分離は、あまり良くないかもしれないいくつかの関数でグローバルな名前空間を汚染します。確かにそれは多くの場合aceptableである... –

+0

非常に良い、データをロードする1つの機能を維持するその洞察力を共有していただきありがとうございます、そしてデータのすべての操作を行う別の機能。ありがとう。 – blackhawk

0

だけでそれをラップ:実際

$(function(){ 
    // Your code here 
}); 

$$.readyの別名である(そしてそれは$(document).readyと同じです)関数は

関連する問題