CSS:ぶるぶる振える効果を出せるプラグイン「CSShake」

CSSの「CSShakeプラグインを使用してみました。
CSShake」はクラスを指定した要素をぶるぶる振える効果を出すことができます。

CSShake

CSShake_1

ライセンスはMITライセンスです。

使用方法はとても簡単で「CSShake」プラグインを読み込み、
シェイクさせたい要素にクラスを設定するだけです。

指定するのは要素でも画像でもOKです。

下記にCSSの「CSShakeプラグインを使用して、指定した要素をぶるぶると振えさせた時の方法をメモします。


CSShakeの使用方法

下記URLより、「CSShake」プラグインをダウンロードします。
一番下にダウンロードのボタンがあります。

http://elrumordelaluz.github.io/csshake/

ダウンロードしたCSSを読み込み、ぶるぶる振えさせたい要素にクラスを設定します。

読み込むファイル

<link rel="stylesheet" type="text/css" href="csshake.css" />

HTML

「CSShake」を使用する要素に「class=”shake”」を記述します。

<div class="shake">test</div>

imgタグに設置する場合

<img src="test.png" class="shake" />

クラスの指定を変更すれば、動きを変更することが可能です。

クラス 動作
shake 基本動作
shake shake-hard 激しく動く
shake shake-slow ゆっくり動く
shake shake-little 小さく動く
shake shake-horizontal 左右に動く
shake shake-vertical 上下に動く
shake shake-rotate 回るように動く
shake shake-opacity 半透明で動く
shake shake-crazy 激しく大きく動く
shake shake-constant 常に動く
shake shake-constant 常に動く
shake shake-constant hover-stop 常に動き、マウスオーバーしたら止まる

CSSでぶるぶると動きを出せるのは面白いですね。

クリックさせたいものなどに「CSShake」を設置しぶるぶると動かしてみると、
クリック率などがもしかしたら上がるかもしれないです。

強調させたい時など使うと良いかもしれないですね。

jQuery:テキスト入力の候補を表示するプラグイン「Completer」

jQueryプラグインCompleter」を使用してみたので、使用方法をメモします。

Completer」はフォームのテキスト入力時に、入力の候補を表示することができるプラグインです。

Completer

http://fengyuanchen.github.io/completer/

jquery_Completer

メールアドレスやURLなど、形式が決まっている場合は、
テキスト入力時に候補が表示されると使いやすいと思います。

下記にjQueryプラグインCompleter」を使用して、テキスト入力時に候補を表示し、
入力の補助オートコンプリート)をした時の方法をメモします。


テキスト入力の候補を表示する「Completer」

読み込むファイル

jQueryと各ファイルを読み込みます。

<link rel="stylesheet" type="text/css" href="./completer.css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script type="text/javascript"  src="./completer.js"></script>

JS

使用するテキストボックスのidを指定して、Completerを使用します。

<script type="text/javascript">
$(function() {
    $("#completer-email").completer({
        separator: "@",
        position: "bottom",
        source: ["gmail.com", "yahoo.co.jp", "infoseek.jp"]
    });
});
</script>

separator」に値との間に使用する文字を指定します。
source」に候補で表示する値を設定します。
position」で候補が表示される位置を指定することができます。デフォルトは「”bottom”」です。
inputタグに直接「data-position=”top”」と指定しても大丈夫です。
(”top”、”right”、”bottom”、”left”)

HTML

Completerを使用する為にidを指定します。

<input type="text" id="completer-email" />

また、inputタグに直接指定することも可能です。

HTML

<input type="text" completer data-separator="@" data-source="['gmail.com', 'yahoo.co.jp', 'infoseek.jp']" />

下記のように入力候補を表示することが表示させることができます。

jquery_Completer_demo

他にもオプションを使って、色々な使い方ができるようです。
ユーザにとって入力しやすくなるので、活用できそうなプラグインです。

jQuery:ページ最下部までスクロールすると自動でコンテンツを読込む

WEBサイトでページの最下部までスクロールした時にローディング画像を表示し、
次に表示するコンテンツ自動で読込んで出力するようなページを見ることがあります。

jquery.bottom

FacebookTwitterなどは、同じようにページの下までスクロールすると情報を読み込んで出力します。

jQueryの「jQuery.Bottomプラグインを使用すれば同じような動作をさせることが可能です。

下記より、ダウンロードすることができます。

jquery.bottom-1.0.js

下記にjQueryの「jQuery.Bottomプラグインの使用して、ページの最下部までスクロールした時に自動的コンテンツ表示させる時の使用方法をメモします。


「jquery.bottom-1.0.js」プラグインの使用方法

JS

jQueryとjquery.bottom-1.0.jsを読み込みます。
下記はwindowオブジェクトに対して使用するように設定しています。
また、コンテンツに対してbottom.jsを指定することも可能です。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script type="text/javascript" src="jquery.bottom-1.0.js"></script>
<script type="text/javascript">
$(function() {

    // オプションのproximityでbottom.jsを発生する位置を指定する
    $(window).bottom({proximity: 0.05});
    $(window).bind('bottom', function() {

        var obj = $(this);

        // 「loading」がfalseの時に実行
        if (!obj.data('loading')) {

            // 「loading」をtrueにする
            obj.data('loading', true);

            // ローディング画像を表示
            $('#loadimg').html('<img src="load.gif" />');

            // 追加したい処理を記述
            setTimeout(function() {

                // ローディング画像を削除
                $('#loadimg').html('');

                // 追加するHTMLを指定
                $('#wrap').append('<div class="box">test</div><div class="box">test</div><div class="box">test</div>');

                // 処理が完了したら「loading」をfalseにする
                obj.data('loading', false);

            }, 1500);
        }

    });

    // リロードしたときにページの先頭を表示する
    $('html,body').animate({ scrollTop: 0 }, '1');

});
</script>

proximityオプションでbottom.jsを発生する位置を指定することが可能です。
proximityの数値によってイベントを行う距離を指定します。

イベント時、「loading」がfalseの時に処理を実行するようにしています。
イベントが発生した時に「loading」をtrueにし、ローディング画像を表示します。

setTimeoutに追加するコンテンツの処理を記述します。
ローデング画像を削除し、処理が完了したら「loading」をfalseにします。

また、スクロールの位置がイベントを発生する位置にある時にリロードすると
追加する要素が連続で表示してしまうので下記を追加してます。

$('html,body').animate({ scrollTop: 0 }, '1');

CSS

cssで出力する要素のスタイルを指定します。

<style type="text/css">
#wrap {
    width: 800px;
    margin: 0 auto;
}
.box {
    width: 150px;
    height: 150px;
    margin: 10px;
    padding: 10px;
    border: 3px dashed #CCCCCC;
    float: left;
}
#loadimg {
    padding-top: 50px;
    clear: both;
    text-align: center;
}
</style>

HTML

最初に表示する要素を記述します。
下までスクロールすると最初に表示している要素の後に追加されます。

<div id="wrap">
    <div class="box">test</div>
    <div class="box">test</div>
    <div class="box">test</div>
    <div class="box">test</div>
    <div class="box">test</div>
    <div class="box">test</div>
    <div class="box">test</div>
    <div class="box">test</div>
    <div class="box">test</div>
    <div class="box">test</div>
    <div class="box">test</div>
    <div class="box">test</div>
    <div class="box">test</div>
    <div class="box">test</div>
                ・
                ・
                ・
            (省略)
</div>

<div id="loadimg"></div>

最初に表示している要素が全て画面に表示されている状態だと
bottomイベントが発生しないので注意です。


追加するコンテンツをajaxなどでデータを取得するようにすれば、
データベースの情報などを出力できていいと思います。

また、表示する最大件数を設定する場合などは
追加した数をカウントして制限をかける必要があります。