ホーム DoRuby jQuery animation 〜動きのあるWebサイト作り〜

jQuery animation 〜動きのあるWebサイト作り〜

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

rick No21です。
今回はjQueryでできる動きのあるサイトの作り方の一部をご紹介。

表示されている場所がおかしいかもしれませんが、表示されていますか?
ちなみにchromeでしか動作確認していません。
firefoxだとみれませんでしたw


では解説に入ります。

jQueryの読み込み

まずは、jQueryを読み込まないと始まりません。
< script type=”text/javascript” src=”http://search.kbmj.com/javascripts/jquery-1.4.2.min.js” >< /script >これによりjQueryを読み込みます。
自分で試すときは
http://jquery.com/
ここから落としてきてください。
本来は内に記述します。

表示場所

表示場所の指定
< div id=”box” title=”sample” > < /div>
< div id=”linkText” class=”lt” > < /div>

jQuery

< script language=”JavaScript” >< !–
URL = [1,2,3,4] //長いので省略
jQuery(function(){
  for (var i=1; i <= URL.length; i++) {
    jQuery(“#box”).append(‘< a href=”‘ + URL[(i – 1)] + ‘” >< div id=”box’+ i + ‘” class=”box” title=”sample’ + i + ‘” >< /div >’);
    move(“box” + i, i);
  };

  jQuery(“.box”).css({
    ”width”:”40px”,
    ”height”:”40px”,
    ”position”:”absolute”,
     “top”:”400px”,
    ”background-color”:”#FFCC66″,
    ”cursor”:”pointer”
  });

  jQuery(“.lt”).css({
    ”width”:”270px”,
    ”position”:”absolute”,
    ”font”:”bold 10pt monospace”,
    ”top”:”350px”,
    ”letter-spacing”:”2px”,
    ”margin”:”0px”,
    ”padding”:”5px”,
    ”border-top”:”dotted 2px #FFCC66″,
    ”border-bottom”:”dotted 2px #FFCC66″,
    ”display”:”none”
  });

  function move(id, count){
    jQuery(‘#’ + id).animate({“left”: (count * 100) + 200 + ‘px’});
  };

  jQuery(“.box”).hover(
   function(){
     jQuery(this).css({“background-color”:”#669933″});
     var tx = jQuery(this).attr(“title”)
     jQuery(“#linkText”).text(“->” + tx);
     jQuery(“#linkText”).show();
   },

   function(){
     jQuery(this).css({“background-color”:”#FFCC66″});
     jQuery(“#linkText”).text(“”);
     jQuery(“#linkText”).hide();
   }
  );
});
//– >< /script >

#boxに対しての動作

for (var i=1; i <= URL.length; i++) {
    jQuery(“#box”).append(‘< a href=”‘ + URL[(i – 1)] + ‘” >< div id=”box’+ i + ‘” class=”box” title=”sample’ + i + ‘” >< /div >’);
    move(“box” + i, i);
  };
内にURLの数だけ

タグを追加します。
  function move(id, count){
    jQuery(‘#’ + id).animate({“left”: (count * 100) + 200 + ‘px’});
  };
タグ追加後moveに引数でid名と現在地(何ループ目?)を引数に渡してmoveの処理を行います。
moveの処理は、その名の通りboxを動かします。
animateによって動きのある動作をcssで指定できます。
どのboxをで第1引数のidをどれだけ移動させるかに第2引数のcountを使用しています。

boxと#linkTextに対しての動作

  jQuery(“.box”).hover(
   function(){
     jQuery(this).css({“background-color”:”#669933″});
     var tx = jQuery(this).attr(“title”)
     jQuery(“#linkText”).text(“->” + tx);
     jQuery(“#linkText”).show();
   },
   
   function(){
     jQuery(this).css({“background-color”:”#FFCC66″});
     jQuery(“#linkText”).text(“”);
     jQuery(“#linkText”).hide();
   }
  );
hoverは、各boxにマウスが重なったとき、外れたときの動作です。
まずhoverの第1引数に記述されているのが、マウスが重なったときの処理です。
cssで背景を変更、タグのtitleを取り出して#linkTextに記述して表示しています。
第2引数は、マウスが外れたときの動作です。
cssで背景を元に戻して#linkTextの内容を空にして非表示にしています。

CSS
CSSの記述内容は割愛させていただきますが、本来は外部参照の方が綺麗ですね。

jQueryを使用するとこのような動きのあるサイトが簡単に作成可能です。<>

記事を共有

最近人気な記事