Web サイト作成時に必要になりがちな機能をまとめた jQuery プラグイン

なにか近頃なにもやる気が起きずブログも更新してませんでしたが、ぼちぼちはじめようかなと思います。だいぶ前に作った jQuery プラグインの紹介です。大したものじゃありませんが、よかったら使ってみてください。

概要

以下の事ができます。

使い方

GitHub からソース一式をダウンロードします。

必要なファイルを読み込みます。

  1. <link rel="stylesheet" type="text/css" media="screen" href="sitekit.css">
  2. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
  3. <script src="jquery.sitekit.js"></script>

ソーシャルボタンの表示

socialbutton

はてブ、Twitter、Facebook、Google+ のソーシャルボタンを表示できます。ソーシャルボタンの表示というとロードの遅延でガタガタと表示されてく見栄えが気になるところですが、このプラグインではデータがロードされるまではグレーアウトで表示され、ロード完了でカラー表示するようにしてます。

マイクロソフトさんも「コンテンツの本質でない Facebook, Google+, Twitterのボタンなどのスクリプトは遅延ロードさせる」とおっしゃってるようなので、遅延実行等の地味で面倒な実装に労力を割いてます。(詳しくはソースを見てください)

表示してるページのソーシャルボタンを表示する

appendTo パラメータでボタンの挿入場所を指定し、$.socialButtons() メソッドを実行します。

  1. $.socialButtons({appendTo : 'div.social'});

リンク一覧に対しソーシャルボタンを表示する

socialbutton

例えばこんなマークアップがあった場合

  1. <ul class="links">
  2. <li><a href="...">...</a><div class="social"></div></li>
  3. <li><a href="...">...</a><div class="social"></div></li>
  4. <li><a href="...">...</a><div class="social"></div></li>
  5. </ul>

リンク要素を jQuery でセレクタで取得し、socialButtons() メソッドを実行します。

  1. $('ul.links a').socialButtons({appendTo : 'div.social'});

大きいソーシャルボタンを表示する

socialbutton

size パラメータに “large” を指定します。

  1. $.socialButtons({
  2. size : 'large',
  3. appendTo : 'div.social'
  4. });

ソーシャルボタンの表示順を変える

sort パラメータに表示順を指定します。

  1. $.socialButtons({
  2. facebook : { sort : 1 },
  3. twitter : { sort : 2 },
  4. hatebu : { sort : 3 },
  5. googleplus : { sort : 4 },
  6. appendTo : 'div.social'
  7. });

一部のソーシャルボタンのみ表示する

表示したくないボタン名に false を指定します。

  1. $.socialButtons({
  2. googleplus : false,
  3. appendTo : 'div.social'
  4. });

任意の URL のソーシャルボタンを表示する

url パラメータに URL を指定します。

  1. $.socialButtons({
  2. url : 'http://www.cyokodog.net/',
  3. appendTo : 'div.social'
  4. });

はてブユーザ数リンクの表示

hatebu

はてブユーザ数を表示したいリンク要素を jQuery でセレクタで取得し、hatebuUsers() メソッドを実行します。

  1. $('ul.links a').hatebuUsers();

負荷分散のために 1 秒間隔で はてブ API にリクエストするようになってます。間隔を変える場合は delay パラメータで指定します。

  1. $('ul.links a').hatebuUsers({
  2. delay : 500
  3. });

画像リンクには適用されません。適用する場合は imageLink パラメータに true を指定します。

  1. $('ul.links a').hatebuUsers({
  2. imageLink : true
  3. });

処理を割り込ませたり、一部のリンクに適用したくない場合は each パラメータで処理を記述します。

  1. $('ul.links a').hatebuUsers({
  2. each : function(element, index){
  3. //リンクにimg要素を含んでた場合は適用しない
  4. if(element.find('img').size()) {
  5. return false;
  6. }
  7. return true;
  8. }
  9. });

外部ドメインリンクへの target=”_blank” の設定

external link

外部ドメインリンクに target=”_blank” とクラス名に “external” を設定します。

  1. $('ul.links a').external();

画像リンクには適用されません。適用する場合は imageLink パラメータに true を指定します。

  1. $('ul.links a').external({
  2. imageLink : true
  3. });

ページトップへ戻るボタンの表示

go-top

最近よく見かけるようになった、ページの最上部にスムーススクロールするボタンを表示する機能です。

$.goTop() メソッドを実行します。

  1. $.goTop();

ページスクロールすると画面最下段に「にょきっ」とボタンが表示されます。

ラベルを指定する

go-top

label パラメータを指定することで、ラベルを表示できます。

  1. $.goTop({label : 'TOP'});

スクロールスピードを変更する

scrollSpeed パラメータで変更できます。

  1. $.goTop({scrollSpeed : 1000});

戻るボタンの表示位置を変える

CSS の margin-left と left で調整します。デフォルトでは右端から 32px の位置に表示されてます。

  1. a.go-top{
  2. margin-left:-32px;
  3. left:100%;
  4. }

中央に表示するには以下のようにします。

  1. a.go-top{
  2. margin-left:0;
  3. left:50%;
  4. }

Google カスタム検索フォームの設置

google custom search

Google カスタム検索フォームを挿入したい場所を jQuery でセレクタで取得し、googleCustomSearch() メソッドを実行します。

  1. $('div.search-area').googleCustomSearch({
  2. cx : '003362715722494588999:aaa8pejovqg'
  3. });

cx パラメータには Google カスタム検索ページより取得した検索エンジンID を指定します。

プレースホルダを指定する

placeholder パラメータで任意の文字列を指定します。

  1. $('div.search-area').googleCustomSearch({
  2. cx : '0033123123123494588999:1aejovqg',
  3. placeholder : 'Google カスタム検索!'
  4. });

ダウンロード

こちらからどうぞ