jQuery リンクボタン(画像)クリックした時にへこます
jQuery リンクボタン(画像)クリックした時にへこます
「ふぉとふぉ」を作ったときに
使ったのでメモ。
画像を用意する
このサンプルでは下記の3つの状態に応じて画像を切り替えています。
- 通常時(retweet_btn.gif)
- マウスがボタンに乗った時(retweet_btn_hover.gif)
- ボタンをクリックした時(retweet_btn_active.gif)
これら3つ画像を用意します。
ファイル名は下記の命名規則になっています。
xxx.gif
xxx_hover.gif
xxx_active.gif
jQueryでコードを書く
<html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>javascriptサンプル</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script type="text/javascript"> $(function(){ $("img").hover(function(){ $(this).attr("src",$(this).attr("src").replace(/^(.+)(\.[a-z]+)$/, "$1_hover$2")); }, function(){ $(this).attr("src",$(this).attr("src").replace(/^(.+)_hover(\.[a-z]+)$/, "$1$2")); } ); $("img").mousedown(function(){ $(this).attr("src",$(this).attr("src").replace(/^(.+)_hover(\.[a-z]+)$/, "$1_active$2")); }); $("img").mouseup(function(){ $(this).attr("src",$(this).attr("src").replace(/^(.+)_active(\.[a-z]+)$/, "$1$2")); }); $("img").mouseout(function(){ $(this).attr("src",$(this).attr("src").replace(/^(.+)_active(\.[a-z]+)$/, "$1$2")); }); }); </script> </head> <body> <a href="http://twitter.com/home/?status=RT test" target="_blank"><img src="retweet_btn.gif" border="0" /></a> </body> </html>
javascriptの部分はそのままコピーしてください。
使用する画像のファイル名に応じて下記の部分を変更すれば動くはずです。
<img src="retweet_btn.gif" border="0" />
注意点など
javascriptの部分は結構強引に書いたので、
もっときれいに書けるはず。。
あと、このサンプルではすべてのimgタグに画像の切り替え
が発生しますので、個別に設定する場合は下記のようにidを使ってやればよいです。
<img src="retweet_btn.gif" border="0" /> ↓ <img id="img1" src="retweet_btn.gif" border="0" /> $("img") ↓ $("#img1")
※分からない場合は、コメントかtwitterまで連絡くれるとわかる範囲で説明します。
http://twitter.com/taramonera
動作環境
FireFox3.6.12とIE8で動作確認しました。