« キセキ | トップページ | デキタ☆ »

ろーるおーばーとjQuery。

最近ちょぴっとハマリ中のjQueryについて流し読みしてたら面白いものを発見したのでメモφ(・・*)ゞ

オオチャクがダイスキな私がこっそりいつも使ってる
Javascriptのロールオーバー。
コレ、jQueryにしたらもっと楽なことが発覚。

ちなみに私がよくやるのは
画像の末尾で切り替えるタイプのスクリプト。
画像の名前を_onと_offにしておけば、オンマウスで
切り替えてくれるタイプ。
(私はアホなので、_on⇒_over _off⇒_outで使ってます。。。)

▼rollover.js▼
function rollover() {
if(document.getElementsByTagName) {
  var images = document.getElementsByTagName("img");

  for(var i=0; i < images.length; i++) {
   if(images[i].getAttribute("src").match("_off."))
   {
    images[i].onmouseover = function() {
     this.setAttribute("src", this.getAttribute("src").replace("_off.", "_on."));
    }
    images[i].onmouseout = function() {
     this.setAttribute("src", this.getAttribute("src").replace("_on.", "_off."));
    }
   }
  }
}
}

if(window.addEventListener) {
window.addEventListener("load", rollover, false);
}
else if(window.attachEvent) {
window.attachEvent("onload", rollover);
}

▼HTML▼
<a href="#" title="#"><img src="navi_1_off.gif" alt="OFF"></a>

これはめっちゃベンリで、いつも使ってたんだけど、
jQueryはもっとすごかった・・・

プラグインで、jQuery_Auto というのを使うと、
オンマウス時の画像にだけ_overをつければ
指定ができちゃうらしいww

$.auto.hover = {

init: function() {
  $('IMG.Hover')
   .bind('mouseover', this.enter)
   .bind('mouseout', this.exit)
   .each(this.preload);
},

preload: function() {
  this.preloaded = new Image;
  this.preloaded.src = this.src.replace(/^(.+)(\.[a-z]+)$/, "$1_over$2");
},

enter: function() {
  this.src = this.src.replace(/^(.+)(\.[a-z]+)$/, "$1_over$2");
},

exit: function() {
  this.src = this.src.replace(/^(.+)_over(\.[a-z]+)$/, "$1$2");
}
};

※コレは抜粋です。
   きちんとしたソースは、jQuery_Auto に置いてあります☆

使い方としてはjquery.jsとjquery_auto.jsを読み込んでから、
HTMLのほうへはimgタグにclassを増やすだけ。

<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/js/jquery_auto.js"></script>

<img src="sample.gif" alt="sample" class="Hover" />

読み込む画像はテキトウな名前をつけて、オンマウス時のものにはさらに_overを付加。
(同じ階層にないとNG)

  • sample.gif
  • sample_over.gif

プリロードも記述されてるから読み込みも早いし、
なんと言ってもラクだし、いうことなしです☆

やっぱりAjaxオモシロイw

と思ったお勉強タイムでした☆

ちなみにこれには他にもタブが作れたり
オートセレクトだったりが入ってました♪

時間見つけて試してみますーヽ(=´▽`=)ノ

|

« キセキ | トップページ | デキタ☆ »

WORKS」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/133320/8440705

この記事へのトラックバック一覧です: ろーるおーばーとjQuery。:

» BiNDはラク♪ [BiND|testdrive]
BiND for WebLIFE* で「志摩地中海村大図鑑」というサイトをつくってみました。旅行記がわりのアルバムサイトです。デジカメは古いエクシリムとソフトバンクの携帯。BiND for WebLIFE*のいいところは、何と言っても画像のリサイズがラクなとこですね。左右に自動フィットするのも助かるし、ファイル名も自動でつけてくれるし、ホントに面倒がなくて、しかもオリジナル画像はそのままだし、ラクで気楽♪ 画像サイズの割に、比較的軽いのもウレシイです。どんどん作りたくなっちゃいますね♪ しかも、途中... [続きを読む]

受信: 2007年11月 2日 (金) 09時39分

« キセキ | トップページ | デキタ☆ »