- 2009-04-15 (水) 23:21
- javascript 734 views
昨日Google AJAX Feed APIに登録したので、早速使ってみました。
サンプルはこちら
APIドキュメントのサンプルを少し変更しただけで、javascriptだけでデータを取得し表示することができました。
ただ、上のサンプルだけでは味気ないのでTween.jsを利用したサンプルも作ってみました。
Tween.jsとはactionscriptのTweenクラスに似せた、インターフェースでDOM操作にアニメーションを着けられるjavascriptライブラリーです。Tweenの動作サンプル
はてなホットエントリーをTweenで表示
ソースはこちら
google.load("feeds", "1");
function initialize() {
var feed = new google.feeds.Feed("http://b.hatena.ne.jp/hotentry.rss");
feed.setNumEntries(30);
function addhatenaEntry(ddiv, url) {
return function(){
ddiv.innerHTML += '&amp;amp;amp;nbsp;<a href=http://b.hatena.ne.jp/entry/'+ url + ' target="_blank"><img src=http
://b.hatena.ne.jp/entry/image/small/' + url +' border="0"></a>';
};
}
feed.load(function(result) {
if (!result.error) {
var objBody = document.getElementsByTagName("body").item(0);
var yseq1 = new Sequence();
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
var ele = document.createElement('div');
ele.id = 'h'+(i+1);
ele.style.backgroundColor = (i+1)%2 ? "d8bfd8" : "ffffff";
objBody.appendChild(ele);
var t = new TextTween(ele,
'innerHTML',
'<a href='+ entry.link +'>'+ entry.title +'</a>&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;<font color="#353535"><small>' + entry.publishedDate +'</small></font>',
Tween.strongEaseOut,
2
);
t.onMotionFinished = addhatenaEntry(ele, entry.link);
yseq1.addChild(t);
}
}
yseq1.start();
});
}
google.setOnLoadCallback(initialize);
Tween.jsはSequence.jsが提供している、Sequence()を利用することによってアニメーションをキューに追加して実行することができます。
このソースでは、for文のエントリ毎にtextのtweenを設定していき、全要素をキューにため操作が終わった後に実行しています。
エントリ数を表示する部分はonMotionFinished(アニメーション終了後に実行される)
として関数をセットしました。(TextTweenにimgタグも書き出そうとすると、サイズの関係かアニメーションがちらつくためNGにした)
次回は別のAPIで何か作ろうと思います。
Comments:0
Trackbacks:1
- Trackback URL for this entry
- http://swimbird.com/blog/archives/2009/04/15/google-ajax-feed-api-%e3%81%a7%e3%81%af%e3%81%a6%e3%81%aa%e3%83%9b%e3%83%83%e3%83%88%e3%82%a8%e3%83%b3%e3%83%88%e3%83%aa%e3%83%bc%e3%82%92.html/trackback
- Listed below are links to weblogs that reference
- はてなホットエントリーをTween.jsを使ってそれっぽく表示 from swimbird's blog
- pingback from swimbird’s blog - flickr api jsonとTween.js,YUI libraryで画像検索 09-04-26 (日) 15:16
-
[...] 前エントリーに引き続きjavascriptのみでflickr apiを利用して画像検索を作ってみました。 前エントリーで紹介したGoogle AJAX Feed APIを利用してgoogle経由でflickrのデータを引っ張って来ようと思っていたのですが、 flickrでは元々json形式でのAPIを提供していたので素直にそちらを利用させてもらいました。 flickr APIのjsonフォーマットでは、画像パスの生成は取得したデータの組み合わせで作らなければならないので注意が必要です。 javascriptでのデータの取得はこちらを参考にしました。(そのまんま流用しましたが^^;) データの出力には前エントリー同様にTween.jsと今回新たにYUI libraryを利用しました。 YUI libraryとは米のYahooが提供しているjavascriptライブラリーで名前の通りUIに特化していて、様々な場面を想定したライブラリーを提供してくれています。 今回は表示した画像のドラッグアンドドロップがしたかったので、YUI library : Drag & Dropを利用しました。 [...]