input要素にも使えるjQueryのロールオーバープラグイン
以前 jQueryだけで画像のロールオーバーを実装する方法 で紹介したロールオーバーを、より簡単に使えるようにプラグイン化しました。
jQueryプラグインの習作をするために作成したモノではありますが、プラグイン化したことでかなり楽に使えるようになったので、気が向いたら使ってみてください。
ダウンロード
jquery.rollover.js - v1.0.4
概要
HTMLを汚さず、簡単に画像のロールオーバーを実装できます。
主な機能
- HTMLで指定するのは初期表示の画像だけ
- 指定された箇所でも _on が付いている画像は無視
- ロールオーバー画像をプリロード
- 拡張子は何でもOK (png, jpg, jpeg, gif, etc...)
- ロールオーバー画像を示す _on の部分を自由に変更できる
使用方法
画像を用意する
example.jpg をロールオーバーしたい場合は、名前の末尾に _on を付けた画像 example_on.jpg を example.jpg と同じディレクトリに入れておく。
JSファイルの読み込み
他のプラグインと同様、jQuery本体→プラグイン→設定の順で読み込み。
<script type="text/javascript" src="/js/jquery.js"></script> <script type="text/javascript" src="/js/jquery.rollover.js"></script>
指定方法の例
最後の例のためにプラグイン化したと言っても過言では無い。
jQuery(function($) {
// 基本
$('#nav a img').rollover();
// inputもいける
$('form input:image').rollover();
// 複数指定も楽々
$('#nav a img, form input:image').rollover();
// 引数で _on の部分を指定できる
$('#nav a img').rollover('_over');
});
まとめ
- ロールオーバーする画像の末尾に _on を付ける
- _on の部分は引数で指定すれば変更も可能
- jQuery本体→プラグイン→設定 の順で読み込み
ちょっと質問ですが、指定方法の例はhtml内に直接記述すれば良いんですか?
onoさん
初めまして、こんばんは。
ロールオーバーの指定は、HTML内(のscript要素内)に直接記述してもいいですし、
新しくJavaScriptのファイルを作り、その中に指定を記述して、scriptの外部参照で読み込んでも良いですよ。
個人的には後者を推奨します。
素晴らしく便利ですね。ロールオーバー系では今まで一番の使いやすさです!
色々使わせて頂きます。
とても便利です。
遠慮なく使わせていただきます。ありがとうございました!
とってもすばらしいです!
1つだけご確認ですが、
Win+IE環境では動作しないのでしょうか?
すいません、説明不足でした。。
上記はWin+IE6です。
アパッチさん、こんにちは。
IE6でも動作しますよ。
初めましてー。
非常に簡単にロールオーバーが出来て重宝してます。
しかし、画像のパスが絶対パスだった場合、
suffixを挿入する場所がおかしくなって
うまく画像が切り替わりませんでした。
例)http://www.hoge.com/img/xxx.jpg
という画像が初期状態だった場合、
http://www_on.hoge.com/img/xxx.jpg
という画像を読み込もうとして失敗してしまいます。
ソースの問題ある個所は
29行目の正規表現で、最初の.(dot)をではなく
最後の.(dot)を拾うようにしたら上手くいきました
前
var _on = src.replace(/\.\w+/, suffix + ‘$&’);
後
var _on = src.replace(/\.[^\.]+$/, suffix + ‘$&’);
ひとまず自環境で動作するよう局所的に
修正しちゃいましたが、相対パスの場合や
他のケースなど検証してません。
取り急ぎご報告まで
masaさん、初めまして。
ご報告いただきました通り、マッチ部分の$が抜けていたため、
最初のドットにマッチしていましたので、修正したバージョンを公開しました。
ご報告ありがとうございました :)
jquery.jsというファイルはどこからダウンロードすれば良いのですか?
また、html内には下記のようにsrcを使って画像を置けば良いのでしょうか?
どこかに設置例はありますか?
設置の仕方が解らなくて使用出来ずにおります。
宜しくお願いいたします。
petronさん、初めまして。
> jquery.jsというファイルはどこからダウンロードすれば良いのですか?
この質問をされる前にGoogleなどで「jquery.js」を検索された方が早いのではないでしょうか。
> html内には下記のようにsrcを使って画像を置けば良いのでしょうか?
こちらの質問に関しても、まずはご自分の手を動かして実際に試した方が早いかと思います。
jquery.jsはhttp://jquery.com/でダウンロード。
画像はimgのsrcで指定して下さい。