TwitterのHover Cardを実装するjQueryプラグイン twttrFloatTip

100317 16:28 追記:
Twitterの言語が日本語になっている場合、Hover Cardは表示されないようです。Englishにすれば表示されるので、オフィシャルのものとあわせて確認してみてください ![]()
最近Twitterに実装された、HoverCard(@screen_name リンクにカーソルをのせるとユーザー情報が表示されるやつ)を実装できるjQueryプラグインです。
デザインがちょっと違う・listsがfavouritesになっている、など違う点もあるのですが、基本的には同じように実装できるようにしました。インラインは現時点で未実装ですが、要望がそれなりにあれば実装しようかと思っています。
導入方法
1.twttrFloatTip.css、 jQueryとtwttrFloatTip.jsを読み込む。
2. 適用する要素を決める
サンプルでは a.twに適用しています。要素のテキストをTwitterのscreen_nameとして情報を取得します。
dotcoder
3. 実行する
$()で対象にする要素を指定します。
jQuery(function($){
$('a.tw').twttrFloatTip();
});
使い方?
ソースを読んで適用したら、対象要素にカーソルをのせるとカートが表示されます。要素が表示領域の半分よりも上にあれば、要素の下に、半分よりも下にあれば、要素の上にカードが表示されます。
上に表示されるキャプチャ

下に表示されるキャプチャ

実際の動き等はデモを見てください。
オプション
実行時の引数にオプションを与えることで、設定をある程度変えることができます。使うことが出来るオプションは以下の通りです。
| オプション項目 | 内容 |
|---|---|
| user_name | ユーザー名を取得する対象 text, href, attr デフォルトはtextで対象要素のテキスト |
| attr | user_nameでattrを指定した際の属性 |
| href | 対象要素をaにしてかつ、user_nameをhrefにした際、スクリーン名を取得するためにカットするURLの部分 |
| loadingText | ロード時に表示するテキスト |
| hideDuration | TwttrFloatTipからカーソルが離れたときにTipが消えるまでの間隔 |
| spaceFix | カーソルからTwttrFloatTipまでの距離 |
| temp | テンプレート(後述) function(data) {} |
| loading | ローディング時のテンプレート(後述) function() {} |
テンプレート(temp)
引数のdataからパラメータを取得できるので、自由にテンプレートを変更できます。使えるパラメータは以下の通りです。
| パラメータ | 取得出来る値 |
|---|---|
| profile_image_url | ユーザーのアイコンのソース |
| name | ユーザー名 |
| screen_name | スクリーン名 |
| location | 場所 |
| url | TwitterURL |
| description | 紹介文 |
| latest_tweet | 最新のつぶやき |
| statuses_count | つぶやき数 |
| friends_count | フォロー数 |
| followers_count | フォロワー数 |
| favourites_count | お気に入り数 |
テンプレートの書き方
テンプレートは以下のように、function(data) {} の中でreturnで返すようにします。
jQuery(function($){
$('a.tw').twttrFloatTip({
temp: function(data) {
return [
'',
data['user_name'],
''
].join('');
}
});
});
テンプレート(loading)
ローディングテンプレートの中では、ローディングテキストのみ利用できます。ローディングテキストは「this.loadingText」です。
オプション利用時のサンプルコード
jQuery(function($){
$('a.tw').twttrFloatTip({
user_name: 'href',
href: 'http://hogehoge.com/',
loadingText: 'hogeding',
hideDuration: 100,
temp: function(data) {
return [
'',
data['user_name'],
''
].join('');
}
});
});
仕様
* の項目はオプション等で変更できるようになる予定です。
- データの受信にはJSONPを使ってます
- 一度受信したデータはページを遷移するまでキャッシュされます
- * インラインのHover Cardは現在未実装
- 受信しているデータの関係で、オフィシャルで lists になっている項目は favourites になってます
- * Lates Tweet で @で始まるユーザ名やリンクがある場合は、アンカーを貼る仕様にしています
- 要素からカーソルを外して500ミリセカンド後にCardが消えるようになっています
Special Thanks
@ rewish
割と強引に色々見てもらいました。
更新履歴
- 2010.03.31
- 横の判定も追加して、右寄りのときは左に表示するように
- 2010.03.29
- オプション項目を追加
Trackbacks: 1
- Trackback URL for this entry
- Listed below are links to weblogs that reference
- from 5509
-
pingback from [...] TwitterのHover Cardを実装するjQueryプラグイン twttrFloatTip :: 5509(+1) [...]
Leave a comment