テーブルで各セルに別ページへのリンクのリストを作成しています。
onMouseover と onMouseout でマウスが上に来た時に色を変えるようにしたいのですが、背景色の変更は出来ます。
onMouseover="this.style.backgroundColor='#3a5b88'" のようにして。
問題は文字色でして、こちらの変え方が分かりません。スタイルシートでも設定しているので、文字の上にポインタが来ればスタイルシートの指定通りに色を変えられますが、タイトルにも書いたように、onMouseover時には背景色と文字色を反転させるように考えているので、セル内の文字から離れた位置にポインタが来た時には背景色が文字色に変わる(つまり文字色はそのままなので同じ色になる)ので、文字が消えてしまうのです。
なにか良い方法がありましたら教えてください。
No.1
- 回答日時:
まず、以下をヘッダに。
<script type="text/javascript">
<!--
var color1 = "#FFFFFF" ;
var color2 = "#000000" ;
function changecolor(id,mouse)
{
if(mouse=="on")
{
document.getElementById(id).style.color=color1;
document.getElementById(id).style.backgroundColor=color2;
}
if(mouse=="off")
{
document.getElementById(id).style.color=color2;
document.getElementById(id).style.backgroundColor=color1;
}
}
//-->
</script>
で、次を色を変えたいところに。
(divなどはなんでも。)
<div id="style1" onmouseover="changecolor('style1','on')" onmouseout="changecolor('style1','off')">Sample1</div>
こんな感じでどうでしょうか?
(私もまだ未熟なので。)
ありがとうございます。なかなかスマートなやり方ですね。上手く行きました。応用も出来ますね。
ただ、文字色が上手く行かない原因はリンクを設定していたため、その色が固定されて変わらないためでした。もっと早くに気づくべきでした。
No.2
- 回答日時:
onMouseover="this.style.backgroundColor='#3a5b88';this.style.color='#FFFFFF'"
みたいな感じいいんじゃないでしょうか
ありがとうございます。そうなんです、この単純な方法で出来るんですよ。やってみてはいたんですが、上手く行かなかったんです。その原因は 1 の方へも書いたのですがリンク設定で文字色が固定されて変わらないためでした。単純な事に気づかないでいました。
No.3ベストアンサー
- 回答日時:
Javascriptでやるなら
onMouseover="this.style.backgroundColor='#3a5b88';this.getElementsByTagName('a')[0].style.color='#xxxxxx'"
onMouseout="this.style.backgroundColor='';this.getElementsByTagName('a')[0].style.color=''"
こんな感じでどうでしょう。
ただ、CSSだけで
td a{
display:block;
text-decoration:none;
padding:0.5em;
}
td a:hover{
color:#xxxxxx;
background-color:#xxxxxx;
}
って感じでやったほうが好み。(デザインの条件によっては無理があるけど)
この回答への補足
よく見たら若干おかしなところがあったので、よろしければアドバイスください。
CSSは以下のように書きました。
td a.list{
display:block;
text-decoration:none;
padding:5 2 0 5;
width:100%;
height:100%;
}
td a.list:visited{
text-decoration:none;
color:#3a5b88;
}
td a.list:hover{
color:#ffffff;
background-color:#3a5b88;
text-decoration:none;
}
td a.list:active{
color:#ffcc00;
text-decoration:none;
}
これでリンクを onmousedown の状況にすると(リンクをactiveにするわけですね)、文字色は上記の指定通り #ffcc00 になるのですが、リンク対象のセル枠内側に小さな点のラインがセルを囲む形で表示されてしまいます。これは? うっとうしいので消したいのですが、どうすればいいのでしょうか?
ありがとうございます。この方法でも上手くできますね。CSSでは上手くできなかったので、JavaScriptでやるしかないと思っていましたが、回答を参考にして、もう一度CSSで書き直してみたらキチンと思い通りに表示させることが出来ました。この方がスッキリしていていいですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) こんなことできますか?例えば、sheetに貼り付けた図形のタイトルを、セルA1の文字で表示する。 5 2022/04/22 15:25
- その他(Microsoft Office) マクロについて教えて下さい 3 2022/05/28 15:36
- Excel(エクセル) エクセルの条件付き書式について教えてください。 3 2022/04/23 10:00
- Photoshop(フォトショップ) MacでPhotoshopに使い方 教えて! 2 2023/07/08 08:24
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
- その他(Microsoft Office) Excelの条件付き書式についての質問です。 2 2022/09/08 01:25
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Visual Basic(VBA) エクセルから、パワーポイントのスライドを複数作成する。 1 2022/07/08 09:40
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Excel(エクセル) Excelについて▶あるセルに文字を入力すると、別のセルに色がつく(条件付き書式) 1 2022/03/27 16:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
変数内容をHTML内で表示する方法
-
javascriptでURLにマウスオーバー
-
document.getElementById( ).st...
-
表示・非表示のスクリプトで、...
-
取得した要素がインライン要素...
-
dblclickでdiv要素を一回だけ作...
-
マウスオーバー、アウト時の背...
-
プルダウンとチェックボックス...
-
removeAttribute()メソッドで削...
-
iframe内のリンクが飛ばないの...
-
HTMLとJavaScriptで作ったタイ...
-
jTweetsAnywhereでハッシュタグ...
-
ボタンを押せば、画面が切り替...
-
jqueryを使って無駄なspanタグ...
-
createElementで作成した要素を...
-
javascriptテキストBOX色を元に...
-
【jquery】スクロールで背景画...
-
javascriptでpostした値が取得...
-
タブで開いてさらにタブ内をア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
javascriptテキストBOX色を元に...
-
読み込んだQRコードをフォーム...
-
createElementで作成した要素を...
-
removeEventListenerについて
-
IFRAMEの表示/非表示を切り替え...
-
タブで開いてさらにタブ内をア...
-
変数名をどのようにつけるのが...
-
クリックで色変更後に既に変更...
-
表示・非表示のスクリプトで、...
-
HTMLとJavaScriptで作ったタイ...
-
console.log結果をhtmlで表示し...
-
jQueryでクリックされた要素のi...
-
HTMLタグに複数のクラスを設定...
-
指定したパスが現URLに含まれて...
-
iframe内のリンクが飛ばないの...
-
背景色を透明化
-
テキストエリア内の一部の文字...
-
変数内容をHTML内で表示する方法
-
classの中の<a>タグにidを追加
おすすめ情報