[jQuery] 画像フォーカス時の画像切り替え
[jQuery] 画像フォーカス時の画像切り替え(。・ω・。)
目的
- 画像にフォーカスをあてた際、画像ファイルのファイル名+_onの画像を切り替える。
- DEMO PAGE
仕様
- imgタグのsrcのURLを、マウスが乗ったときに変更する。(画像ファイルのファイル名末尾に_onを追加)
- imgタグのsrcのURLを、マウスが降りたときに元に戻す。
- 全ての画像ではなく、指定した画像のみ変更する。
ソースコード
/* ◯今回はpng画像で実験を行なっている */
/* ◯png画像に_onをつけたり外したりで、画像変更を実現してる */
$(document).ready(function(){
/* change image (off→on) */
$('img.onChange').mouseover(function(){
var onImgUrl = $(this).attr('src').replace(/\.png/ig, '_on.png');
$(this).attr('src', onImgUrl);
});
/* change image (on→off) */
$('img.onChange').mouseout(function(){
var onImgUrl = $(this).attr('src').replace(/_on\.png/ig, '.png');
$(this).attr('src', onImgUrl);
});
});
<!-- ◯on off変更したい画像には、class='onChange'を指定する --> <!-- ◯画像は、デフォルトの名前+_onを準備する --> <img class="onChange" src="img/online.png" /> (この場合、マウスが乗っかるとsrc="img/online_on.pngとなる)
13:05:00
jQuery
jQueryを利用したナビゲーションメニュー
jQueryを利用したナビゲーションメニュー(。・ω・。)
目的
- フォーカス時に動作を加え、フォーカスが当たっていることをわかりやすくする。
- DEMO PAGE

仕様
- マウスフォーカス時に、メニューが動く。
- マウスフォーカス時に画像を変更する。
ソースコード
<div id="subNaviWrapper"> <ul> <li><a href="#">Home</a></li> <li><a href="#">Products</a></li> <li><a href="#">HowToBuy</a></li> <li><a href="#">RSS</a></li> <li><a href="#">Sitemap</a></li> </ul> </div>
/* ●naviデザインサンプル */
#subNaviWrapper{
width: 150px;
font-size: 20px;
}
#subNaviWrapper li{
background: url('../img/16dotBlue.png') no-repeat 0 3px;
padding: 0 0 0 20px;
margin: 0 0 10px 0;
}
a{
text-decoration: none;
color: #444444;
}
$(document).ready(function(){
/* ◯各々のメニューにフォーカス時 */
$('#subNaviWrapper li').mouseover(function(){
$(this).css("background", "url('img/16dotRed.png') no-repeat 0 3px");
$(this).animate({paddingLeft:'+=10'},300);
});
/* ◯各々のメニューにフォーカスアウト時 */
$('#subNaviWrapper li').mouseout(function(){
$(this).css("background", "url('img/16dotBlue.png') no-repeat 0 3px");
$(this).animate({paddingLeft:'-=10'},300);
});
});
16:15:00
jQuery
jQueryを利用したアコーディオンメニュー
jQueryを利用したアコーディオンメニュー(。・ω・。)
目的
- クリックすることで開閉するメニューを作成する。
- DEMO PAGE
仕様
- ある要素の次の要素を、クリックをキーに出現・隠蔽する。
- 開閉とともに画像も変更する。
- class='boxTitle'の次の要素がデフォルトで隠れる。
ソースコード
<div class="accordionBox1"> <h3 class="boxTitle">アコーディオンサンプル1</h3> <p class="boxContents">出現・隠居を繰り返します( ゚д゚)ハッ!<br>(/ω・\)チラッ<br><br><br>( ゚д゚)ハッ!</p> </div>
.accordionBox1{
width: 600px;
margin: 0 0 50px 0;
}
.accordionBox1 .boxTitle{
border: 1px solid #cccccc;
border-bottom: 2px solid #e3297d;
padding:10px 0 10px 50px;
cursor: pointer;
/*画像はjQueryで入れ替える*/
background: url('../img/48plusBlue.png') no-repeat;
}
.accordionBox1 .boxContents{
border-left: 1px solid #cccccc;
border-right: 1px solid #cccccc;
border-bottom: 1px solid #cccccc;
padding:10px 25px ;
}
$(document).ready(function(){
/* ◯class = 'boxTitle' をクリックしたら実行 */
$('.boxTitle').click(function(){
/* ◯次の要素を出現させる */
$(this).next().animate(
{ height: "toggle", opacity: "toggle" }
,"slow"
);
/* $this.next().toggle('slow'); でも同じ */
/* ◯+と-の画像切替 */
if($(this).css('background-image') == "url(http://phoenibir.com/jqueryWorkshop/accordion1/img/48minusBlue.png)"){
$(this).css("background", "url('img/48plusBlue.png') no-repeat");
}else{
$(this).css("background", "url('img/48minusBlue.png') no-repeat");
}
}).next().hide(); /* ◯ページ読み込み時はかくしておく */
});
18:25:00
jQuery
登録:
投稿
(
Atom
)