マウスオーバーしたら、画像が変わるボタンを作成しています。
基本は英語で作成しています。
画像には文字が含まれているため、
ブラウザの使用言語が日本語の時に画像を日本語用に切り替えようと考えています。
<a id ="trs_02" href="#aaa" onFocus="this.blur()" style="display:block; width:120px; height:30px; background:url(btn10.jpg) no-repeat;"
onmouseover="this.style.backgroundImage='url(btn11.jpg)'";
onmouseout="this.style.backgroundImage='url(btn10.jpg)'";>
</a>
<script type="text/javascript">
chglg();
</script>
として作成したのですが、
btn10.jpgとbtn11.jpgを
btn10-jp.jpgとbtn11-jp.jpg
に差し替えたいのです。
<script type="text/javascript">
function chglg() {
var lang = (navigator.browserLanguage || navigator.language || navigator.userLanguage).substr(0,2);
if(lang == "ja"||"JP"){
document.getElementById("trs_02").style.backgroundImage="url(btn10-jp.jpg)";
}
}
</script>
とすれば最初は日本語ですが、マウスオーバー時とマウスアウト時は
日本語になりません。
this.style.backgroundImage='url(btn11.jpg)'
の部分を切り替え方が解らず、困っています。
出来ればdocument.getElementByIdを使いたいのですが...
よろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
スタイルシートの画像を置き換えるのではなく、HTMLのlang属性を書き換えるほうが楽です。
<html lang="en-us">
などでデフォルトの言語はen-で始まるものにされていると思います。
HTMLのナビゲーションリストが
<div class="nav">
<ol>
<li><a href="/" lang="en-us">Top</a></li>
<li><a href="/products" lang="en-us">products</a></li>
<li><a href="/ContuatUs" lang="en-us">ContuatUs</a></li>
</ol>
</div>
とかだと思います。
スタイルシートは、
div.nav ol li a{overflow:hidden;width:6em;}
div.nav ol li a[href="/"][lang|=en]{background:url() 0 0;}
div.nav ol li a[href="/"][lang|=en]:hover{background:url() 0 100px;}
div.nav ol li a[href="/"][lang|=en]:active{background:url() 0 200px;}
div.nav ol li a[="/"][lang="ja"]{background:url([日本語画像]) 0 0;}
div.nav ol li a[href="/"][lang="ja"]:hover{background:url([日本語画像]) 0 100px;}
div.nav ol li a[href="/"][lang="ja"]:active{background:url([日本語画像]) 0 200px;}
とかだと、javascriptで該当要素にlang="ja"を追加するだけで背景画像は切り替わるはずです。
要素セレクタを使ってスタイルシートを書いておけば、lang属性に関わらず、class属性でも何でも良いですし、HTMLも弄らなくてすむ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- HTML・CSS CSSのホバーエフェクト 1 2023/06/19 06:53
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<hr>の縦バージョンはありますか?
-
iframe内をクリックさせない方...
-
クリックで背景を変化させる
-
【至急お助け!】チェックボッ...
-
lightbox2で画像を天地左右中央...
-
background-repeat CSS で切れ...
-
HTMLで使う「見出し」は英文で...
-
背景画像を複数設定
-
ウエブアートデザイナーについて
-
ブログのバナーの背景に2つ画像...
-
IE6だけ最後の文字を数文字繰り...
-
CSSで背景に2枚の壁紙を配置
-
壁紙の配置について
-
Softbank携帯でスタイルシート...
-
body指定したimgが複雑なデザイ...
-
CSSでtd内の画像を月ごとに自動...
-
背景画を固定し、尚且つ、フィ...
-
IMGタグで画像の繰り返し使用は…
-
イメージマップ内での画像の変...
-
HTML CSSの記述の仕方について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<hr>の縦バージョンはありますか?
-
画像とその下にあるテキストの...
-
lightbox2で画像を天地左右中央...
-
画像の上にテキスト配置で、拡...
-
background-repeat CSS で切れ...
-
【Webサイト】画像が小さく表示...
-
IMGタグで画像の繰り返し使用は…
-
background-sizeの背景で最小値...
-
同じ画像 複数回使用
-
【至急お助け!】チェックボッ...
-
iframe内をクリックさせない方...
-
htmlかcssで背景の白い枠をなく...
-
background-sizeでcontainする...
-
CSSで背景画像をランダムに表示...
-
ページごとに背景画像を変更し...
-
画像上に文字を表示するとiPhon...
-
LightBoxの矢印の出し方
-
WEB上でディレクトリ内の画像を...
-
submitボタンの上に重ねた画像...
-
CSS マウスオーバーでテキスト...
おすすめ情報