Won't get fooled Again

Webデザイナーがphp、MySQL、Wordpressとかでなんかしたときにぶつかったあれこれを備忘録的にメモっています

カウント付ソーシャルボタンの見た目を統一

  • 2012年08月27日
Facebook、Twitterなどのソーシャルサービスでシェアするためのボタン、手軽に設置できる公式のものが配布されているが、いかんせん見た目がバラバラなので並べると見た目に汚い。きれいに統一されたものが出回ってないかなーと探してみたものの、ボタンパーツ自体はあれど、カウントもついたプラグインみたいなのは意外と無い。ありものを利用しつつちょっと作ってみた。
 
  • Like

    0

  • Tweet

    0


Facebook

まず、ボタンの設置。
<a href="http://www.facebook.com/sharer.php?u=該当ページのURI&amp;t=該当ページのタイトル">
<img src="images/share_facebook.png">
</a>
ボタン画像はimages/share_facebook.pngに置いているとしています。 ページのタイトルやURLは、URLエンコードします。
次に、いいね!数のカウント表示部分。
<span id="likeCount" class="count">0</span>
これを、FacebookのGraph APIを利用して、jQueryでJSON形式のデータを取得、<span>タグで囲まれた中身を書き換えます。
var likeCount = function (_id, _url) {
if(!_id) return;
var pageURL = (_url) ? _url : location.href;
$.ajax({
type: 'GET',
url: 'http://graph.facebook.com/' + pageURL,
dataType: 'jsonp',
success: function(data) {
var count = (data.shares)? data.shares : 0;
$('#' + _id).text(count);
}
});
}
$(function () {
likeCount('likeCount');
});
参考:Facebookの「いいね!」ボタンをオリジナルデザインに変更する

Twitter

こっちもまず、ボタンの設置。
<a href="http://www.facebook.com/sharer.php?u=該当ページのURI&amp;t=該当ページのタイトル">
<img src="images/share_facebook.png">
</a>
ボタン画像はimages/share_twitter.pngに置いているとしています。 ページのタイトルやURLは、URLエンコードします。
次に、いいね!数のカウント表示部分。
<span id="tweetCount" class="count">0</span>
これを、TwitterのAPIを利用して、jQueryでJSON形式のデータを取得、<span>タグで囲まれた中身を書き換えます。
var tweetCount = function (_id, _url) {
	if(!_id)	return;
	var pageURL = (_url) ? _url : location.href;
	$.ajax({
		type: 'GET',
		url: 'http://urls.api.twitter.com/1/urls/count.json',
		data: {
			url : encodeURI(pageURL),
			noncache: new Date()
		},
		dataType: 'jsonp',
		success: function(data) {
			$('#' + _id).text(data.count);
		}
	});
}
$(function () {
	tweetCount('tweetCount');
});

参考:Twitterの「ツイート」ボタンをオリジナルデザインに変更する

あとはCSS

<style type="text/css">
<!--
img {
    border: 0;
}
ul {
    list-style: none;
}
#objectSocialBtnBox li {
clear: both;
}
#objectSocialBtnBox li img{
margin:0 0 5px 0;
float:left;
}
#objectSocialBtnBox li span.count{
float:left;
dispay:block;
background:#FAFAFA;
height:15px;
color:#666666;
font-size:14px;
        line-height:1.3;
padding:5px 12px 5px 10px;
border-radius:0 2px 2px 0;
-webkit-border-radius:0 2px 2px 0;
-o-border-radius:0 2px 2px 0;
-ms-border-radius:0 2px 2px 0;
}
-->
</style> 
記事検索
プロフィール

qb000sk

<% for ( var i = 0; i < 7; i++ ) { %> <% } %>
<%= wdays[i] %>
<% for ( var i = 0; i < cal.length; i++ ) { %> <% for ( var j = 0; j < cal[i].length; j++) { %> <% } %> <% } %>
0) { %> id="calendar-249701-day-<%= cal[i][j]%>"<% } %>><%= cal[i][j] %>
カテゴリ別アーカイブ
タグクラウド
QRコード
QRコード
Won't get fooled Again

'); label.html('\ ライブドアブログでは広告のパーソナライズや効果測定のためクッキー(cookie)を使用しています。
\ このバナーを閉じるか閲覧を継続することでクッキーの使用を承認いただいたものとさせていただきます。
\ また、お客様は当社パートナー企業における所定の手続きにより、クッキーの使用を管理することもできます。
\ 詳細はライブドア利用規約をご確認ください。\ '); banner.append(label); var closeButton = $('