

Jqueryを使って画像サムネイルにロールオーバーしたときに、半透明の画像と情報を載せたいと思っております。
WPを利用しているのでサムネイル一覧は自動で生成されます。
サムネイルを生成している上に半透明のpng画像を背景にした情報セットをPositionで載せるところまでは完成しています。
jqueryで上に載る情報をまとめたCSSにdisplayを追加させることでロールオーバーもできました。
ですが、自動生成している一覧のclass名が全て同じなため、サムネイルの一つにマウスを合わせると全ての画像が反転してしまいます。
どうしたら、マウスを合わせた画像のみロールオーバーできるようになりますか?
よろしくお願いいたします。
【JSソース】
$(function(){
$("li.item dl dt.thm").mouseover(function(){
$("li.item dl dt.thm a.overImg").css("display","block");});
$("li.item dl dt.thm").mouseout( function() {
$("li.item dl dt.thm a.overImg").css("display","none");});
});
【HTML】
<ul class="lists">
<li class="item">
<dl>
<dt class="thm">
<a href=""><img src="~~ /></a>
<a href="" class="overImg">
<span class="name01">タイトル</span>
<span>サイズ</span>
<span class="date">日付</span>
</a>
</dt>
<dd>>情報1</dd>
<dd>情報2</dd>
</dl>
~~~
</ul>
【CSS】
.lists .item .thm{
position: relative;
height: 100px;
width: 150px;
margin: 0 0 10px 0;
border: 1px solid #ebebeb;
-moz-box-shadow: 2px 2px 5px #cccccc;
-webkit-box-shadow: 2px 2px 5px #cccccc;
}
.lists .item .thm a.overImg{
position: absolute;
background: url(../images/thumbnail_over.png) no-repeat right bottom;
height: 80px;
width: 130px;
left: 0px;
top: 0px;
padding: 10px;
display: block;
text-decoration: none;
display: none;
}
.lists .item .thm a.overImg span{
font-size: 11px;
display: block;
width: 130px;
margin-bottom: 5px;
color: #666666;
text-shadow: #ffffff 1px 1px 3px;
height: 15px;
overflow: hidden;
}
.lists .item .thm a.overImg span.name02{
font-weight: bold;
font-size: 14px;
}
.lists .item .thm a.overImg span.date{
position: absolute;
leftt: 0;
bottom: 0;
}
No.1ベストアンサー
- 回答日時:
イベント処理関数の中では、処理対象のエレメントがthisに入っていますから、その配下にあるエレメントだけを処理対象にすればいいかと思います。
試してませんが、たぶん
---
$("li.item dl dt.thm").mouseover(function(){
$("a.overImg", this).css("display","block");});
$("li.item dl dt.thm").mouseout( function() {
$("a.overImg", this).css("display","none");});
---
こんな感じでいけるはず。
$("a.overImg", this).css で、
thisには $("li.item dl dt.htm")で見つけた要素のうち、mouseover/mouseout で処理対象となっているエレメントが入っているので、
その下の "a.overImg" だけがcss を書き換える処理対象になります。
mtaka2様
ありがとうございます!!
完璧です!
その後、class+"thm"に個別の番号を振って、classにしてやればいいのかなと
.eachをつかって番号を振り、thmを一度削除、thm+iで新しいclassを付与してみた。
たしかに新しいclassはできたのですが、class="thm1 thm2・・・"と一覧の数だけついてしまってガックリとしていたところでした。(苦笑)
迅速な回答ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Slick.jsのオプションrtlについて
-
アコーディオンメニューが開い...
-
MAX関数を使ってからLEFT JOIN...
-
jQueryでクリックされた要素のi...
-
Javascriptで指定した日付と時...
-
jspでcssが読み込めない
-
libjpegライブラリの使い方につ...
-
JQuery UIで、表示したタブの中...
-
【CSS】floatで左右に並べた...
-
[JavaScript]IE11にてフリック...
-
clear: bothの事で質問です。
-
オンマウスで流れる文字
-
外部javascriptの重複を防ぐには
-
jQueryの.text()関数でiframe
-
getElementByIdの戻り値がnull...
-
javascriptテキストBOX色を元に...
-
交互に入れ替わる画像を複数配置
-
クリックすると画像を表示するタグ
-
【初心者】UWSCでjavascriptで...
-
jsファイルのエラーについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Slick.jsのオプションrtlについて
-
【jQuery】2分割レイアウトで、...
-
bxSliderのランダム表示について
-
javascripteの件で、質問です。
-
[jQuery]bxSlider 一番最後と...
-
【iOS及びAndroid】リンク画像...
-
jqueryで画像をスライドさせる方法
-
CSSでマウスオーバーした画像を...
-
アコーディオンメニューが開い...
-
キャラクターがぴょこんと飛び...
-
liの数によってulの横幅を動的...
-
数ある中からランダムで抽出し...
-
ローカルでは問題なく動くがサ...
-
qtipの使い方について
-
jQueryを使ってある画像を別の...
-
javascript src書き換え
-
順番にクラスをつけていく方法
-
複数のJavascript の組込み方に...
-
スライドショー「Skitter」をカ...
-
横並びの画像を3枚時間差でフェ...
おすすめ情報