• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jQueryでマウスオーバーの際色を保持させたい)

jQueryでマウスオーバーの際色を保持させたい

このQ&Aのポイント
  • jQueryでマウスオーバーした際、色を変更しマウスが離れたら基の色に戻したい。
  • 対象のHTMLはマウスが触れたら色を変えて、離れたら元に戻したい。
  • CSSだと楽ですがjQueryの場合どうすればよいか悩んでいます。

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 いくつか方法はあると思いますが、 #spl2の方法がスマートかなと思います。 cssのクラスを追加したり削除したりして表現しています。 #spl1は要素のスタイルを変数に保持しておき、戻す方法です。 <script type="text/javascript"> $().ready ( function() { var bgColor = ''; $('#spl1 a').mouseover ( function() { bgColor = $(this).parent().css ( 'background-color' ); $(this).parent().css ( 'background-color', '#000' ); }).mouseout ( function() { $(this).parent().css ( 'background-color', bgColor ); }); $('#spl2 a').hover ( function() { $(this).parent().addClass ( 'hv' ); },function() { $(this).parent().removeClass('hv'); }); }); </script> <style type="text/css"> span.bg1 { background-color: #00f; } span.hv { background-color: #ff0; } </style> ==== HTML <div id="spl1"> <span style="background-color:#36ab71;"><a href="a.txt">ふぁいる</a></span> <span style="background-color:#f00;"><a href="a.txt">ふぁいる</a></span> </div> <div id="spl2"> <span class="bg1"><a href="a.txt">ふぁいる</a></span> </div>

mr-r00
質問者

お礼

ばっちりな仕様です! 大変参考になりました! ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 大きさの違うテキストのマウスオーバーの色を変えたいです!

    はじめまして。 WEB制作でとても困っています。。。>< お忙しいところ、恐れ入りますが、 回答どうぞよろしくお願い致します。 下記のように設定しています。 テキストの大きさが違うものを1つのリンクとして一緒に色を変更したいのですが、なぜかエリアは一緒に設定できるのですが、「10」の数字だけ色が変わりません。。。 <span>の設定に原因があるのでしょうか??? >>>CSS>>> a, a:link { color:#333333; line-height:170%; font-family:"ヒラギノ角ゴ Pro W3", "MS Pゴシック", Osaka, "Hiragino Kaku Gothic Pro"; text-decoration: none; } a:visited {} a:hover { color: #FF3300; text-decoration:none; } .text_bk_01 {color: #000000;font-size: 14px;line-height: 1.8em;} .text_bk_00 {color: #000000;font-size: 8px;} >>>XHTML>>> <ul> <li class="text_bk_01"><a href="#">テキスト<span class="text_bk_00">10</span></a></li> </ul>

  • 大きさの違うテキストのマウスオーバーの色を変えたいです!

    はじめまして。 WEB制作でとても困っています。。。>< お忙しいところ、恐れ入りますが、 回答どうぞよろしくお願い致します。 下記のように設定しています。 テキストの大きさが違うものを1つのリンクとして一緒に色を変更したいのですが、なぜかエリアは一緒に設定できるのですが、「10」の数字だけ色が変わりません。。。 <span>の設定に原因があるのでしょうか??? >>>CSS>>> a, a:link { color:#333333; line-height:170%; font-family:"ヒラギノ角ゴ Pro W3", "MS Pゴシック", Osaka, "Hiragino Kaku Gothic Pro"; text-decoration: none; } a:visited {} a:hover { color: #FF3300; text-decoration:none; } .text_bk_01 {color: #000000;font-size: 14px;line-height: 1.8em;} .text_bk_00 {color: #000000;font-size: 8px;} >>>XHTML>>> <ul> <li class="text_bk_01"><a href="#">テキスト<span class="text_bk_00">10</span></a></li> </ul>

    • ベストアンサー
    • HTML
  • jQueryで特定のcssプロパティの値を書き換えたい

    jQueryで特定のcssプロパティの値を書き換えたい html上にインラインで記述しているスタイルのうち、特定のプロパティの値のみをjQueryで書き換えることはできますでしょうか。 具体的には↓ <span style="font-size: 16px;font-weight: bold;">テキスト1</span> <span style="color: #f00; font-size: 16px;">テキスト2</span>を <span style="font-size: 18px;font-weight: bold;">テキスト1</span> <span style=""color: #f00; font-size: 18px;">テキスト2</span>に style属性のfont-size: 16px;をfont-size: 18px;にしたい。 他は変えずそのままにしたい。 $(function() { $('span').filter(function() { return ($(this).css("font-size","16px")); }).css("font-size","18px") }); http://okwave.jp/qa/q5310183.html 似たような質問が上記でされていて、真似て書いてみたのですが、これだとfont-sizeが16pxでないものも全て18pxに書き換わってしまいました。 不勉強でお恥ずかしい限りですが、詳しい方いらっしゃいましたらどうかご教授ください。 よろしくお願いいたします。

  • Jqueryを使って画像サムネイルにロールオーバーしたときに、半透明の

    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; }

  • これをマウスオーバーさせたい!教えてください。

    以下のcssをマウスオーバーさせたいのですが、どうすれば良いでしょうか? ちなみに、マウスオーバー後は「☆」から「★(黄色)」に変更したいです。 教えてください。 #bookmark:before { display: inline-block; padding: 10px 20px; border-radius: 50px; border: 1.5px solid #ccc; content: "☆"; font-size: 2em; color: #ccc; }

    • ベストアンサー
    • CSS
  • マウスオーバーでテキストの色を変えたい

    はじめまして。 よろしくお願いいたします。 一部テキストリンクのマウスオーバー時の色を変えたいんです。 CSSで a:link { color:#0000FF; } a:visited { color:#0000FF; } a:hover { color:#FF0000; } a:active { color:#0000FF; } と設定しています。 そして、一部だけは通常時白にして、マウスオーバー時を赤にしたいと思っています。 一部だけ変える方法が分かりません。 簡単なことかも知れませんがよろしくお願いいたします。

    • ベストアンサー
    • HTML
  • CSSでマウスオーバーを作成しています。

    CSSでマウスオーバーを作成しています。 /**CSS内**/ #test { margin: 0; padding: 0; list-style-type: none; } #test li { text-indent: -9999px; width: 200px; height: 400px; margin: 0; padding: 0; background: url(aaa_ov.bmp) no-repeat -200px 0; ----- マウスオーバー時 } #test a { text-decoration: none; display: block; width: 200px; height: 400px; margin: 0; background: url(aaa.bmp) no-repeat 0 0; ----- 最初 } #test a:hover { text-decoration: none; background-color: transparent; background-image: none; } /**HTML内**/ <link rel="stylesheet" href="style.css" type="text/css" /> </HEAD> <BODY> <div align="center"> <ul id="test"> <li><a href="***.html">Home</a></li> </ul> </div> </BODY> としているのですが最初の画像も出ずうまくいきません。 画像パスも間違っていませんでした。 どのようにすればいいんでしょうか。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • jQuery マウスオーバーのたびに処理を繰り返す

    よろしくお願いします。 jQueryを使用して、「サムネイルにマウスを乗せると別のDiv内に大きい画像とtitle属性のテキストを表示させる」というものを作ろうとしています。 別のDiv要素には上下左右中央に画像を表示させたいと思い、見よう見まねで下記のようなコードを作成したのですが、表示される画像がサムネイル時の大きさに縮小されてしまい、元の大きさの画像として表示されません。(サムネイルには元画像をcssで縮小して表示しています) やりたいことは以下の2つです。 ・Div要素には元画像の大きさで表示させたい。 ・できれば、フェードイン・アウトで画像を切り替えたい。 色々調べてみたのですが行き詰ってしまい、こちらに質問させて頂きました。 お分かりになる方がいらっしゃいましたら、お知恵をお貸し頂けませんでしょうか。 ////スクリプト//// $(function(){ $('#contents li a').click(function(){ return false; }); $('#contents li a').mouseover(function(){ var $title = $(this).children('img').attr('title'); var w = $(this).children('img').width(); var h = $(this).children('img').height(); $('#photo img').attr('src',$(this).attr("href")); $('#photo span').text($title); var mtop = (h/2)*(-1); var mleft = (w/2)*(-1); $('#photo img').css({"width": + w + "px" ,"height": + h + "px" , "top": "50%" , "left": "50%" , "margin-top": + mtop + "px" , "margin-left": + mleft+ "px"}); }); }); ////HTML//// <div id="contents"> <ul> <li><a href="1.jpg"><img src="1.jpg" title="あああああああああああああああ" /></a></li> <li><a href="2.jpg"><img src="2.jpg" title="いいいいいいいいいいいいいいい" /></a></li> <li><a href="3.jpg"><img src="3.jpg" title="ううううううううううううううう" /></a></li> </ul> </div> <div id="photo"> <img src="1.jpg" /> <span>テキストテキスト</span> </div>

  • jqueryの色値取得について質問です。

    JQueryで、SPAN要素を作成し色情報を色名で取り出したいのですが、 $('<span style="color: blue; background-color: blue"></span>').css("color") とすると値が"blue"と返ってくるのですが、 $('<span style="color: blue; background-color: blue"></span>').css("background-color") では、"rgb(0, 0, 255)"とRGB表記になって返ってきてしまいます。どうすれば色名の"blue"で取得できるのでしょうか?ブラウザはFirefox限定でお願いします。色テーブルを作って変換することなしにできないでしょうか? どうかお知恵を下さい。

  • マウスオーバーについて

    画像をランダムに表示させ、画像をマウスオーバーさせた時に吹き出しを表示させようと思い下のようにしました。 <a href="#" div class="img"> <script language="JavaScript"> <!-- ranimg = new Array(); ranimg[0]="画像1"; ranimg[1]="画像2"; xx = Math.floor(ranimg.length*Math.random()); ranimg = ranimg[Math.floor(xx)]; document.write('<img src="'+ ranimg +'">'); // --> </script> </a></div> ここまではランダムで画像表示。 <div class="bubble"> <p class="body">吹き出し </p> <div class="tail-bottom-right"></div> </div> 吹き出しのhtmlコード。 .bubble { margin: 36px 12px 72px 12px; position: absolute; z-index: 1; right: 12%; bottom: 15%; width:200px; visibility:hidden; } .bubble .body { margin: 0; padding: 12px; color: #ffffff; background-color: #ff6347; font-size: 12px; text-align: justify; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px; } .bubble .tail-bottom-right { border-top: 18px solid #ff6347; border-left: 24px solid transparent; position: absolute; bottom: -18px; right: 25px; width: 0; height: 0; } 吹き出しのCSSコード 画像をできるだけ使用しないようにしたかったので、CSSで吹き出しを作りました。問題はこのCSSで作った吹き出しをマウスオーバーで表示させるようにしたいのですが、どのように打ち込んだら出来るのでしょうか?

    • ベストアンサー
    • CSS