Internet Explorer: JavaScript
ラベル JavaScript の投稿を表示しています。 すべての投稿を表示
ラベル JavaScript の投稿を表示しています。 すべての投稿を表示

2013年6月4日火曜日

ウェブサイトに簡単に設置できるシンプル軽量スライドショー【 kamome.js 】

 kamome.js


特徴


  • ウェブページの好きな位置に自由なサイズで設置できます。
  • スライドごとにリンク先を設定することができます。
  • コントローラーの表示/非表示は選択できます。
  • 自動再生のオン/オフ、表示間隔、トランジション(フェード)のスピードなどを指定できます。
  • 複数スライドショーの設置に対応しています。


  1. caption01
  2. caption02
  3. caption03
  4. caption04
  5. caption05
  6. caption06
  7. caption07
  8. caption08
  9. caption09
  10. caption10
  11. caption11
  12. caption12
  13. caption13
  14. caption14
  15. caption15
  16. caption16
  17. caption17
  18. caption18
  19. caption19
  20. caption20
  21. caption21

 

設置方法 

1.ダウンロード 

zip ファイルをダウンロード、解凍し、解凍されたフォルダ(kamomeフォルダ)を、スライドショー設置先のHTMLから読み込める場所へ移動してください。

2.ファイル文字コードの確認、変更(必要時)

JavaScript を動作させるためには、HTML自体とHTMLからリンクするファイル(js, css等)の文字コードが一致している必要があります。

ダウンロードいただいたkamome.jsファイルの文字 コードは utf-8 です。設置先HTMLの文字コードがutf-8でない場合には、kamome.jsまたはHTMLの文字コードを変更し、両ファイルの文字コードを一致させてください。

3.HTMLの編集

まず、設置先となるHTMLから kamome.css, kamome.js 両方へリンクします。HTMLの<head>内へ下記を追加してください。 

<style type="text/css">@import "folder-path/kamome/kamome.css";</style>
<script type="text/javascript" src="folder-path/kamome/kamome.js"></script>
※css, js の順でリンクして下さい。folder-pathは設置先に応じて書き換えます。


次に、スライドを設置したい場所にイメージのリストを作成します (ol)。この部分がスライドショーとなります。

リストは全体を divで囲みます。divにはclassとidが必須です。idは設置先に応じて任意で設定可能です 

<div class="slideshow" id="top_slideshow">
 <ol>
  <li><img src="your_image_folder/image01.jpg" width="320" height="215" alt="caption01" /></li>
  <li><img src="your_image_folder/image02.jpg" width="320" height="215" alt="caption02" /></li>
  <li><img src="your_image_folder/image03.jpg" width="320" height="215" alt="caption03" /></li>
 </ol>
</div>
※イメージは必用な枚数設置できますが、数が多すぎるとページの読み込みに時間がかかります。

4.スライドショーの設定 


kamomeフォルダにある、kamome.jsを開き、30行目から始まる以下の部 分で設定を行います。

太字の部分を必要に応じて書き換えてください。カンマやクォーテーションを消さないよう注意してください。

var configurations = [
 {
  elem_id : "top_slideshow",    //画像リストを囲むdivのid(HTML上の値と同じ)
  slide_width : 320,    //横サイズ(ピクセル値、数値のみ)
  slide_height : 215,    //縦サイズ(ピクセル値、数値のみ)
  stay : 5000,     //表示間隔(ミリ秒:1000 = 1秒)
  fade_gain : 1.0,    //トランジションの加速度(0.5 ~ 15.0程度で調整)
  controll_panel : true,    //コントロールパネルの表示/非表示 true or false
  panel_font_size : '76.92%',   //コントロールパネルの文字サイズ(単位はCSSの記法に準じます、%, em, px等)
  play :  true,     //自動再生 true or false
  to : true,     //再生方向 true or false
  elem_class_name : "slideshow"   //画像リストを囲むdivのclass値。通常は変更しないでください
 }
];

基本的な設置は以上で完了です。HTMLをブラウザで開いて、あなたのスライドショーを確認してみましょう。

オプション機能

1. キャプションやリンクの設定

  • キャプション:画像のalt属性がキャプションとして表示されます。
  • リンク:画像をaタグで囲むと、キャプションからURLへリンクします。
  • 新しいウインドウで開く:上記のaタグに rel="newWin" を付け加えると、リンク先を新しいウインドウで開きます。
下記の具体例を参照ください。

<div class="slideshow" id="top_slideshow">
 <ol>
  <li><img src="your_image_folder/image01.jpg" width="320" height="215" alt="caption01" /></li>
  <li><a href="URL"><img src="your_image_folder/image02.jpg" width="320" height="215" alt="caption02" /></a></li>
  <li><a href="link_path" rel="newWin"><img src="your_image_folder/image03.jpg" width="320" height="215" alt="caption03" /></a></li>
 </ol>
</div>

 

2. 複数スライドの設置

Ver.1.1 より、複数スライドショーの設置に対応しました。
また、不要な設定は省略できま す。


var configurations = [
 // 1つ目のスライドショーの設定
 {
  elem_id :  'top_slideshow',
  slide_width :  320,
  slide_height :  215
 },
 // カンマで区切った後、2つ目のスライドショーの設定
 {
  elem_id :  'th_slideshow',
  slide_width :  146,
  slide_height :  110,
  controll_panel : false
 }
 // 最後尾の設定の後にはカンマを付けないでください。
];




2013年4月18日木曜日

「Camera slideshow」高機能 jQueryスライドショー


 高機能過ぎるjQueryスライドショー「Camera slideshow」





The text you need

「Camera slideshow」は細かいところまであらゆる設定ができる高機能のjQueryスライドショーです。

デフォル トの状態でも十分に機能しますが、スキンやエフェクト、メーターの種類やナビゲーション、画像別に見せる時間を変えるなど様々な設定が可能です。

ま た、レスポンシブ対応しています。設定によってはフルスクリーンでのスライドショーを背景に設定することもできます。動画を組み込むことも可能です。

サンプルを作ってみました。 → 高機能過ぎるjQueryスライドショー 「Camera slideshow」サンプル

軽くて使いやすいので、どの画像ギャラリースライダーを 使おうか迷った時の選択肢のひとつに良いと思います。


【使用方法】

まずはこちらのCameraの サイトからファイル一式ダウンロードします。デモを含むZIPファイルを利用するとわかりやすいと思います。

<head> 部分にcssとJavaScriptを指定します。

   <link rel='stylesheet' id='camera-css'  href='css/camera.css' type='text/css' media='all'>
   <script type='text/javascript' src='scripts/jquery.min.js'></script>
   <script type='text/javascript' src='scripts/jquery.mobile.customized.min.js'></script>
   <script type='text/javascript' src='scripts/jquery.easing.1.3.js'></script>
   <script type='text/javascript' src='scripts/camera.min.js'></script>    
   <script>
jQuery(function(){           
    jQuery('#camera_wrap_test').camera({
    height: '50%',
    });
});
</script>


<body> 部分にスライドさせる画像を設定します。

<div class="camera_wrap  camera_chocolate_skin" id="camera_wrap_test">
   <div data-src="images/image_1.jpg"></div>
   <div data-src="images/image_2.jpg"></div>
   <div data-src="images/image_3.jpg"><div class="camera_caption">The text of your caption</div></div>
</div>

上のソースのcamera_chocolate_skinの部分には、すでに用意されている33種類のスキンを使用することができ ます。CSSファイルを 編集してオリジナルのスキンを作ることも可能です。

用意されているスキンは以下の通りで す。

camera_amber_skin | camera_ash_skin | camera_azure_skin | camera_beige_skin | camera_black_skin | camera_blue_skin | camera_brown_skin | camera_burgundy_skin | camera_charcoal_skin | camera_chocolate_skin | camera_coffee_skin | camera_cyan_skin | camera_fuchsia_skin | camera_gold_skin | camera_green_skin | camera_grey_skin | camera_indigo_skin | camera_khaki_skin | camera_lime_skin | camera_magenta_skin | camera_maroon_skin | camera_orange_skin | camera_olive_skin | camera_pink_skin | camera_pistachio_skin | camera_pink_skin | camera_red_skin | camera_tangerine_skin | camera_turquoise_skin | camera_violet_skin | camera_white_skin | camera_yellow_skin


オプションを設定することで様々なカスタ マイズが可能になっています。




  • alignment:‘center’ ・・・ topLeft, topCenter, topRight, centerLeft, center, centerRight, bottomLeft, bottomCenter, bottomRight
  • autoAdvance: true ・・・ true, false
  • mobileAutoAdvance: true ・・・ true, false. Auto-advancing for mobile devices
  • fx:‘random’ ・・・ ’random’,'simpleFade’, ‘curtainTopLeft’, ‘curtainTopRight’, ‘curtainBottomLeft’, ‘curtainBottomRight’, ‘curtainSliceLeft’, ‘curtainSliceRight’, ‘blindCurtainTopLeft’, ‘blindCurtainTopRight’, ‘blindCurtainBottomLeft’, ‘blindCurtainBottomRight’, ‘blindCurtainSliceBottom’, ‘blindCurtainSliceTop’, ‘stampede’, ‘mosaic’, ‘mosaicReverse’, ‘mosaicRandom’, ‘mosaicSpiral’, ‘mosaicSpiralReverse’, ‘topLeftBottomRight’, ‘bottomRightTopLeft’, ‘bottomLeftTopRight’, ‘bottomLeftTopRight’, ‘scrollLeft’, ‘scrollRight’, ‘scrollHorz’, ‘scrollBottom’, ‘scrollTop’
  • height:’50%’ ・・・ ピクセル,%
  • loaderColor:‘#eeeeee’
  • loaderBgColor:‘#222222′
  • loaderOpacity: .8
  • loader: ‘bar’


  • ※さらに詳しいカスタマイズは元サイト内のoptionsを 参考。

    最後にサンプルのソースを書いておきますので、どうぞご参考まで。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
    <title>高機能過ぎるjQueryスライドショー「Camera slideshow」サンプル</title>
        <link rel='stylesheet' id='camera-css'  href='css/camera.css' type='text/css' media='all'>
        <style>
                .fluid_container {
                margin: 0 auto;
                max-width: 1000px;
                width: 90%;
            }
        </style>
       
        <script type='text/javascript' src='scripts/jquery.min.js'></script>
        <script type='text/javascript' src='scripts/jquery.mobile.customized.min.js'></script>
        <script type='text/javascript' src='scripts/jquery.easing.1.3.js'></script>
        <script type='text/javascript' src='scripts/camera.min.js'></script>
       
        <script>
            jQuery(function(){
               
                jQuery('#camera_wrap_test').camera({
                height: '50%',
                });

            });
        </script>
    </head>

    <body>
    <div class="fluid_container">

        <div class="camera_wrap  camera_chocolate_skin" id="camera_wrap_test">
           <div data-src="images/image_1.jpg"></div>
           <div data-src="images/image_2.jpg"></div>
           <div data-src="images/image_3.jpg"><div class="camera_caption">The text of your caption</div></div>
        </div>
    </div>
    </body>
    </html>

    Photo:Michał Halczewski


    【jQuery】かっこいいスライドショーまとめ

    2013年4月15日月曜日

    「BlocksIt.js」Pinterest(ピンタレスト)風に画像を並べて表示するjQueryプラグイン












    Title01 moonfish
    by name
    Title02 Tigermilk
    by name
    Title03 Houttuynia+cordata
    by name
    Title04 fuck
    by name
    Title05 KRAZY+BALDHEAD
    by name
    Title06 hole
    by name
    Title07 boy
    by name
    Title09 hello!
    by name
    Title10 man
    by name
    Title11 monochrome
    by name
    Title12 elroy klee
    by name
    Title13 Eyes as Big as Plates
    Title14 Bellflower
    by name
    Title15 pandamonium
    by name
    Title15 RCA secret
    by name
    Title16 Riitta Ikonen leaf
    by name
    Title17 Riitta Ikonen leaf
    by name
    Title18 lastdaydream
    by name
    Title19ampanman 
    by name
    Title20 Viviane Sassen
    by name
    Title21 jopsu ramu
    by name
    Title22 hdvoice
    by name

    最近、特に女性 に人気があるPinterest(ピンタレスト)。 その人気の秘密のひとつが、そのシンプルでお洒落なデザイン性です。

    Pinterest(ピ ンタレスト)は白地に画像がずらりと並んだビジュアル中心のデザインになっていて、とてもシンプルですが、ファッション誌のようでただ眺めているだけでも 退屈しません。

    そのPinterest(ピンタレスト)風に画像を一覧表示させてくれるのが、このjQueryプラグイ ン「BlocksIt.js」です。

    サンプルページを作ってみました。 → Pinterest(ピ ンタレスト)風に画像を並べて表示するjQueryプラグイン「BlocksIt.js」サンプル

    jQuery プラグイン「BlocksIt.js」の使用方法は続きをどうぞ。

    【使用方法】
    まずは、こちらの本家のサイトからBlocksIt.js など一式ダウンロードします。 <head>部分にcssとJavaScriptを記述します。


    1<link rel='stylesheet' href='style.css' media='screen' />
    2<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    3<script type="text/javascript" src="blocksit.js"></script>
    4<script>
    5$(document).ready(function() {
    6$('#ID名').BlocksIt();
    7});
    8</script>

    最後に<body>部に画像を記述すれば完成です。

    1<div id="#ID名">
    2 <div>
    3  <div>
    4   <img src="画像1" />
    5  </div>
    6  <strong> タイトル1</strong>
    7  <p> コンテンツ1-1</p>
    8  <div> コンテンツ1-2</div>
    9 </div>
    10 <div>
    11  <div>
    12   <img src="画像2" />
    13  </div>
    14   <strong>タイトル2</strong>
    15   <p>コンテンツ2-2</p>
    16   <div>コンテンツ2-2</div>
    17 </div>
    18
    19// 以後表示させたい画像の数だけ繰り返し
    20
    21</div>

    ※オプションがいくつか用意されているので、様々な効果を付けることも可能です。

    .BlocksIt( [Options] ) [Options]
    • numOfCol: Type: Int Default: 5 コラム数を設定します。
    • offsetX: Type: Int Default: 5 ブロックの左右のマージン幅
    • offsetY: Type: Int Default: 5 ブロックの上下のマージン幅
    • blockElement: Type: String Default: ‘div’ 


    オプションの記述の例

    1$(document).ready(function() {
    2   $('#container').BlocksIt({
    3      numOfCol: 5,
    4      offsetX: 8,
    5      offsetY: 8,
    6      blockElement: '.grid'
    7   });
    8});

    以下にサンプルページのソースを書いておきます。サンプルではウィンドウズ幅に応じてコラム数を 変更させています。どうぞご参考までに。 (画像の数が多いので6枚目以降の画像指定の部分は省略しています。)

    1<!DOCTYPE html>
    2<html>
    3<head>
    4<title>Pinterest風に画像を並べて表示するjQueryプラグイン 「BlocksIt.js」サンプル │ ぱんにゃっと/H&Y</title>
    5<meta name="description" content="BlocksIt.js jQueryのサンプル by ぱんにゃっと/H&Y"/>
    6<meta name="keywords" content="jquery,blocksit.js,サンプル"/>
    7<link rel='stylesheet' href='style.css' media='screen' />
    8<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    9<!--[if lt IE 9]>
    10<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    11<![endif]-->
    12<script src="js/blocksit.min.js"></script>
    13<script>
    14$(document).ready(function() {
    15    //blocksit define
    16    $(window).load( function() {
    17        $('#container').BlocksIt({
    18            numOfCol: 5,
    19            offsetX: 8,
    20            offsetY: 8
    21        });
    22    });
    23
    24    //window resize
    25    var currentWidth = 1100;
    26    $(window).resize(function() {
    27        var winWidth = $(window).width();
    28        var conWidth;
    29        if(winWidth < 660) {
    30            conWidth = 440;
    31            col = 2
    32        } else if(winWidth < 880) {
    33            conWidth = 660;
    34            col = 3
    35        } else if(winWidth < 1100) {
    36            conWidth = 880;
    37            col = 4;
    38        } else {
    39            conWidth = 1100;
    40            col = 5;
    41        }
    42
    43        if(conWidth != currentWidth) {
    44            currentWidth = conWidth;
    45            $('#container').width(conWidth);
    46            $('#container').BlocksIt({
    47                numOfCol: col,
    48                offsetX: 8,
    49                offsetY: 8
    50            });
    51        }
    52    });
    53});
    54</script>
    55
    56</head>
    57<body>
    58
    59<!-- Content -->
    60<section id="wrapper">
    61    <hgroup>
    62        <h1>Pinterest風に画像をレイアウトして表示するjQueryプラグイン「BlocksIt.js」サンプ ル</h1>
    63    </hgroup>
    64<div id="container">
    65    <div class="grid">
    66        <div class="imgholder">
    67            <img src="img/01.jpg" />      </div>
    68        <strong>Title01</strong>
    69        <p>コンテンツ...</p>
    70        <div class="meta">by name</div>
    71    </div>
    72    <div class="grid">
    73        <div class="imgholder">
    74            <img src="img/02.jpg" />      </div>
    75        <strong>Title02</strong>
    76        <p>Hello?</p>
    77        <div class="meta">by name</div>
    78    </div>
    79    <div class="grid">
    80        <div class="imgholder">
    81            <img src="img/03.jpg" />      </div>
    82        <strong>Title03</strong>
    83        <p>好きな文字を入れれます。</p>
    84        <div class="meta">by name</div>
    85    </div>
    86    <div class="grid">
    87        <div class="imgholder">
    88            <img src="img/04.jpg" />      </div>
    89        <strong>Title04</strong>
    90        <p>feel</p>
    91        <div class="meta">by name</div>
    92    </div>
    93    <div class="grid">
    94        <div class="imgholder">
    95            <img src="img/05.jpg" />      </div>
    96        <strong>Title05</strong>
    97        <p>好きな文字を入れれます</p>
    98        <div class="meta">by name</div>
    99    </div>
    100
    101</div>
    102</section>
    103</body>
    104</html>

    2013年4月11日木曜日

    Codespell – Java言語がそのまま呪文となる教育用3Dゲーム


    カリフォルニア大学サン・ディエゴ校の計算機科学者達が開発した Codespell は、一人称視点の3Dゲームなのですが、その一番の特徴は、プレイすることでJavaプログラミングを身につけられるという点です。
    Codespell では、プレイヤーは小動物ノーム(gnome)たちが住む土地にやってきた魔法使いです。ノーム達は過去に魔法を使って生活して いたのですが、今は魔法をうまく使えなくなっています。魔法の呪文はJava言語プログラムで、物体を浮遊させるとか火を起こすといった7 つの手持ちの呪文を使って、ノーム達を助け、火 を消したり川を渡ったりといったクエストを解き、バッヂを獲得するのがゲームの目標です。

    ゲームプレイ

    3D 世界の岩が燃えていますが、


    codespell-target

    岩オブジェクトというターゲットオブジェクトに対し て onFire()メソッドにfalseを渡す、という呪文を呼ぶプログラムを書き、実行することで、



    codespell-target-program

    燃えていた岩の火が消える、という例がデモ動画で紹介されています。



    codespell-target-extinguish

    プログラミングの達人を昔からWizard、魔法使 い、といいますが、ここでは、プログラムがそのまま魔法であるような仮想空間を作りこんだ、とい うことですね。

    ゲームの教育効果

    こ れを開発した研究者たちが、プログラミング経験がまったく無い10歳から12歳の女子40名にこのゲームを遊ばせたところ、少女たちは一時間もし ないうちにJavaの基本的な構造を把握し、自分たちで新しい遊び方をプログラミングしたということです。たとえば、呪文(プログラム)を間違えてター ゲットのオブジェクトを空中高く、届かないところに持ち上げてしまったグループは、自身を他のオブジェクトの上からジャンプさせるコードを書いて、ター ゲットに次の呪文を掛けることができるようにしたそうです。

    入手方法

    ゲームはオープンソースで公開され、Mac版はバイナリ がダウンロードできます。Windows版も近々リリースされるということ。

    2013年4月9日火曜日

    jQueryスクラッチカード wScratchPad をスマホ対応にしてみた


     Websanova Scratch Pad という jQuery のプラグインを使うと、
    PCブラウザ上で、スクラッチカードをコインで削る表現 が簡単に作れます。




    PC用スクラッチデモ
    sample:golgo_JK_PC

    0%



    マウス対応だったのですが、スマホで使いたいので、マウス関連のイベ ントをタッチ関連のイベントに書き換えました。

    イベント
    • mousedown → touchstart
    • mousemove → touchmove
    • mouseup → touchend
    座標取得
    • e.pageX → e.originalEvent.changedTouches[0].pageX
    • e.pageY → e.originalEvent.changedTouches[0].pageY



    スマホ用スクラッチデモ(スマホでお試しください)
    sample:golgo_JK_Phone

    0%




    書き換えるのが面倒な方は、こちらからダウンロードして お使いください。

    一式ダウンロード


    とってもいいプラグインを作ってくれた WEBSANOVA さんに感謝です。


    「wScratchPad」スクラッチのように削ると画像が見えてくるjQueryプラグイン

    スクラッチ宝くじのように削ると見えてくるjQueryプラグイン「wScratchPad」を使うと面白いコンテンツが作れそうw

     

    jQueryのプラグインを使えば、画像に様々な効果を加えたり、アニメーションさせて表示させたりいろんなことができます。 そんなプラグインは出揃った感がありますが、今回とてもユニークなプラグインを見つけたのでご紹介したいと思います。

    「銀はがし」が できるプラグイン!

    銀はがしといえば、皆さんご存知の宝くじなどでよくあるスクラッチカードがありますが、これと同じようなことをjQueryでできるようにしてくれるプラグイン「wScratchPad」です。 「wScratchPad」を使えば、画像をマスクした状態で表示しておき、 マウスで削っていくと徐々に中の画像 を見せるようなことができます。

    簡単にスクラッチカードを削る間隔を味わうことができますよw 

    最初はマスクされて画像が何も表示されていません。

     

     マウスで削っていくと隠れている画像が見えてきます。

       

    用途としては、ブラウザ上で簡単なスクラッチくじを実現したい場合や、宝探しゲームのようなものや、レア画像を削って見せていくなどに使えそうで す。 仕 組みとしては、HTML5のCanvasを使って実現しているので、HTML5対応のブラウザでないと表示できません。 文章じゃわかりにくいので以下デモです。




    使い方はwScratchPad.jsとjQueryを合わせて読み込みます。

    例としてソースは以下のようになります。

    HTML - head
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/wScratchPad.js"></script>
    <script type="text/javascript">
     $("#foo").wScratchPad({
      width: 210,
      height: 100,
      image: 'images/image.jpg'
      color: '#ff0000',
      cursor: 'images/cursor.png',
      size: 5
     });
    </script>
    
    
    
    
    
    
    ※パスなどは環境に合わせて書き換えてください。


    上記ソースのように記述すると、#fooが指定された要素にスクラッチカードのような機能を実装できます。 オプションでサイズ、表示される 画像、マスクの色、削る際のサイズなどを指定でき、カーソルの画像もオプションで変更することができます。 例えば、コインの画像を使用してマスク 色をシルバーとかにすれば、本当のスクラッチカードのようにすることもできますね。 また、どれぐらい削ったかを取得する機能もついており、70%以上削れたら何かを表示するだとか、50%削ったらマスクを解除するなんてこともできます。

    詳しくは、「wScratchPadのチュートリアル」を確認してください。

    キャンペーン系のサイトや、ゲームなどに使えると思うので、興味がある方はチェックしてみてください。

    使い方の詳細やファイルのダウンロードは以下。


     
    sample:batako_san
    0%

    sample:tsuru_ken
    0%

    sample:ima
    0%


    ↓スマホのタッチに対応させたい方は方こちら。

    jQueryでスクラッチカードを実現する wScratchPad をスマホ対応にしてみた


    【おすすめのオンライン画像加工アプリ】
    HTML5のCanvasを使った実用的なグラフィックツールをまとめました。こちらもあわせてチェックしてみてください。

    HTML5で作られた驚異のフォトエディターまとめ