(java scriptはいくつか使ったことがありますが、意味はわからず配布されてるのを使っている初心者です。)
過去ログでこちらの頁を見つけましたので、オンマウスで別の場所に画像表示はできるんですが、
同時に別の場所(画像のとなりにでも)テキストも表示させたいのです。
全然違うscriptになりますか?
あと、下記のscriptの場合、画像Bなどのリンク文字の両側にリンクタグを貼れば
リンクできるんですけど、やり方間違ってはないですよね?
あわせてお願いします。
参考URL
http://okweb.jp/kotaeru.php3?qid=1192554
No.4ベストアンサー
- 回答日時:
<script type="text/javascript">
<!--
function textChange(id,text){
var span_el = document.getElementById(id);
var originalText = span_el.firstChild.nodeValue;
span_el.firstChild.nodeValue=text;
return originalText;
}
//-->
</script>
</head>
<body>
<span onMouseOver="RestoreText=textChange('text1','変更する文章')" onmouseout="textChange('text1',RestoreText)">文章変更</span>
<br>
<br>
<br>
<span id="text1">このへんに文章</span>
この回答への補足
ありがとうございます!!
文字はどのブラウザでもキレイに変わりました!!
あと、私の理解が足りないのかも知れないのですけど、最初に引用していた
過去ログのソースで、絵を変えるように設定して、それに追加する形でテキストも変更
してたんで、教えていただいたscriptは追加する形でよかったんですよね?
どっちで試しても絵が変わらない状態になってしまったんですが、
やっぱりどこか間違っていますか?
No.8
- 回答日時:
>ただ、リンクを貼るとうまくいきませんでした。
>入れ替わった表示になってしまったんで。
リンクを貼るのは、画像を変更する側ですか、される側ですか?
ちょっと状況が良く判らないので、
いったん、そのソースを補足してくれませんか?
この回答への補足
状況を再現しようとしたら、かえって成功しました。お騒がせしました。
あとはテキストがマウスを離したら元に戻ってくれるとありがたいです。
必要ないかも知れませんが、一応ソース貼ります。
(不要なものが多い素人くさいソースですが)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>たいとる</title>
<link rel="shortcut icon" href="favicon.ico">
<style type="text/css">
<!--
body{
scrollbar-base-color : #FFFFFF;
scrollbar-face-color : #FFFFFF;
scrollbar-track-color: #FFFFFF;
scrollbar-arrow-color : #9e9e9e;
scrollbar-3dlight-color: #9e9e9e;
scrollbar-highlight-color : #FFFFFF;
scrollbar-shadow-color : #FFFFFF;
scrollbar-darkshadow-color : #9e9e9e;
overflow:auto;
line-height:150%;
font-family:Verdana,Helvetica,Arial,Osaka,;
font-size:11px;
margin-bottom:0px;
text-align:center
}
A:link { color: #000; }
A:visited { color:#000; }
A:hover { color:red; }
A:active { color: #000; }
A { text-decoration: none; }
#waku1{
margin-top:0px;
margin-bottom:0px;
margin-left:auto;
margin-right:auto;
padding:0px;
width:645px;
height:460px;
background:#000;
border:solid 1px black;
}
#obi{
color:#fff;
background:#000;
height:40px;
width:645px;
text-align:left;
}
#waku2{
margin-top:0px;
margin-bottom:0px;
margin-left:auto;
margin-right:auto;
padding:0px;
width:645px;
height:360px;
background:#fff;
}
/* はりつけ画像ネスケ用 */
#waku3{
margin-top:25px;
margin-bottom:0px;
margin-left:auto;
margin-right:auto;
padding:0px;
width:645px;
height:510px;
}
#waku4{
margin-top:0px;
height:360px;
width:230px;
padding:0px;
text-align:left;
float:right;
overflow:auto;
}
#waku6{
color:#fff;
background:#000;
text-align:left;
height:50px;
width:645px;
padding:0px;
border:none;
}
h2{
text-align:center;
font-size:14px;
padding:5px;
border:none;
}
h1{
text-align:left;
font-size:26px;
color:#fff;
font-style:bold;
margin-top:12px;
margin-bottom:8px;
}
#image{
margin-top:100px;
float:right;
}
#image2{
float:left;
margin-top:50px;
margin-left:50px;
width:205px;
height:300px;
text-align="left"
}
.com{
margin-top:5px;
margin-left:0px;
font-weight: bold;
}
.item{
line-height:4px;
}
.text{
line-height:17px;
}
-->
</style>
<script type="text/javascript">
<!--
function change(fname){
document.images['CHANGE'].src=fname;
}
function restore(){
document.images['CHANGE'].src="A.jpg";
}
function textChange(id,text){
var span_el = document.getElementById(id);
var originalText = span_el.firstChild.nodeValue;
span_el.firstChild.nodeValue=text;
return originalText;
}
-->
</script>
</head>
<body>
<div id="waku3">
<div id="waku1">
<div id="obi">
<h1>たいとる</h1>
</div> <!--obi"-->
<div id="waku2">
<div id="image2">
<img name="CHANGE" src="1.png" alt="○○"><span id="text1">変更前</span>
<br>
</div>
<div id="waku4">
<div class="com">
<span onmouseover="change('a.png');RestoreText=textChange('text1','変更する文章')" onmouseout="resore();textChange('text1',RestoreText)"><a href="aa">リンクを貼ろうとしたのはココ</a></span>
</div> <!--com-->
<div class="com">
<span onmouseover="change('b.png');RestoreText=textChange('text1','さらに変える')" onmouseout="resore();textChange('text1',RestoreText)"><a href="aa">リンクを貼ろうとしたのはココ</a></span>
</div> <!--com-->
</div> <!--4-->
</div> <!--2-->
<div id="waku6">
文字
<div style="position:absolute;left:560;top:295;"><img src="c.png" width="216" height="238" alt="○○"></div>
</div> <!--1-->
</div> <!--3-->
</body>
</html>
No.7
- 回答日時:
>どっちで試しても絵が変わらない状態になってしまったんですが、
#4では、
<img name="CHANGE" src="A.jpg"><span id="text1">画像の隣のテキスト</span>
みたいな並びを想定しています。
<span onmouseover="change('b.png');RestoreText=textChange('text1','変更する文章')" onmouseout="resore();textChange('text1',RestoreText)">画像&文章変更</span>
みたいな感じでうまくいくと思います。(未検証)
この回答への補足
何度もありがとうございます!
URLのscriptと一緒にして、No.7のまま使うと、うまくいきました!
ただ、リンクを貼るとうまくいきませんでした。(入れ子にはしたんですが)
他のCSSの部分が間違ってるのかも知れないです。入れ替わった表示になってしまったんで。
No.5
- 回答日時:
あー、すみません。
ie以外を考えるとinnerTextをinnerHTMLにかえるだけですね。
それと文字列は通常のアンカー(<a>)タグで行けます。
とりあえずチェック用にいれてるnn7.1と火狐1.04
では動いているようです。古いブラウザなど
あまり考慮していません。場合によってはlayerに
対する処理などが必要になるでしょう。
以下ソース
<script language="javascript">
function textChange(id,text){
cacheText=document.getElementById(id).innerHTML;
document.getElementById(id).innerHTML=text
}
function textBack(id){
document.getElementById(id).innerHTML=cacheText;
}
</script>
<img src="nodata" width="100" height="100" onMouseOver="textChange('text1','文章を変更する')" onMouseOut="textBack('text1')"><br>
<a href="文章変更" onMouseOver="textChange('text1','文章を変更する')" onMouseOut="textBack('text1')">文字列</a>
<br>
<br>
<br>
<span id="text1">このへんに文書</span>
この回答への補足
<!--
function change(fname){
document.images['CHANGE'].src=fname;
}
function restore(){
document.images['CHANGE'].src="a.png";
}
//-->
<!--
function textChange(id,text){
cacheText=document.getElementById(id).innerHTML;
document.getElementById(id).innerHTML=text
}
function textBack(id){
document.getElementById(id).innerHTML=cacheText;
}
-->
-body-
<span onmouseover="change('b.png')" onmouseout="restore()" style="color:red;text-decoration:underline"><a href="○○○"><img src="c.gif" width="88" height="31" onMouseOver="textChange('text1','文書を変更する文書を変更する')" onMouseOut="textBack('text1')" border="0"></a></span>
どの組み合わせかわからなくなってきたんですけど、
これだとうまくいきました。これでよいんでしょうか?
<span onmouseover="change('b.png')" onmouseout="restore()" style="color:red;text-decoration:underline"><a href="○○○" onMouseOver="textChange('text1','文章を変更する')" onMouseOut="textBack('text1')">△△△</a>
</span>
あ、ごめんなさい。これでいけました。ありがとうございました。
No.3
- 回答日時:
文字列?
質問の意味がよくわかりません。
もうちょっと具体的に例示してもらえれば
お答えできるかもしれません
この回答への補足
<img src="nodata" width="100" height="100" onMouseOver="textChange('text1','文章を変更する')" onMouseOut="textBack('text1')">
ここが、img タグに命令を入れているので、これが画像でなく文字列だとどうなるかという質問でした。言葉不足ですみません!
さらにもう一つ問題がありまして。
コメント表示がIEでしか機能しないのです。他ブラウザでも動くようにはできますか?
No.2
- 回答日時:
やっぱ戻すんですね(苦笑)
あまり複雑なことをしなければ当座変数は覚えておく
ことは可能です。なのでこんなかんじ
<script language="javascript">
function textChange(id,text){
cacheText=document.getElementById(id).innerText;
document.getElementById(id).innerText=text
}
function textBack(id){
document.getElementById(id).innerText=cacheText;
}
</script>
<img src="nodata" width="100" height="100" onMouseOver="textChange('text1','文章を変更する')" onMouseOut="textBack('text1')"><br>
<br>
<br>
<br>
<span id="text1">このへんに文書</span>
できました!!!できました!!!!ありがとうございます!!!!
あともしよろしければ、文字列でもできるかどうかだけでも教えて頂けると幸いです^ ^
No.1
- 回答日時:
idで管理するのが一般的ですが、テキストなら
spanやdivにidを振るのが無難でしょう。
こんなんでわかりますか?
<script language="javascript">
function textChange(id,text){
document.getElementById(id).innerText=text
}
</script>
<img src="nodata" width="100" height="100" onMouseOver="textChange('text1','文章を変更する')"><br>
<br>
<br>
<br>
<span id="text1">このへんに文書</span>
この回答への補足
それと画像ではなく文字列にも
onMouseOver="textChange('text1','文章を変更する')"
は入れられますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
その要素がjQueryでremove()済...
-
初心者です。gulpでコンパイル...
-
二次元配列の中の各行の要素を...
-
【Google Apps Script】「ライ...
-
ローディングアニメーションの...
-
jQueryでシンセサイザーを作っ...
-
ジャバスクリプトについて。
-
jQueryローディングアニメーシ...
-
フォームが空欄の時にフォーム...
-
画面に表示したらアニメーショ...
-
画像の表示位置
-
jsで質問です。 ボタンが二つ存...
-
switch文のswitch(n)の部分を複...
-
セレクトボックスを2つ設けて選...
-
セレクトボックスを2つ選択して...
-
jsで、len~(__=C.value)]||val...
-
jQueryでのレスポンシブが綺麗...
-
追加ボタンを押した際に ok ボ...
-
食材の期限を管理するためにGAS...
-
前回の質問の続き function mov...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
食材の期限を管理するためにGAS...
-
ビデオのJSについて
-
前回の質問の続き function mov...
-
このプログラムに、王手をかけ...
-
このプログラムに王様の逃げ道...
-
初心者です。gulpでコンパイル...
-
前回の質問の続き function mou...
-
鍵盤アプリで、スマホの画面に...
-
スマホ上で、左右スワイプで次...
-
jQueryで同じクラス名のものを...
-
読み込んだQRコードをフォーム...
-
追加ボタンを押した際に ok ボ...
-
Colorboxがうまく設置できません
-
階層別の組織図の自動作成について
-
二次元配列を使って順位をだす...
-
【GAS】WEBアプリでハイパーリ...
-
HTMLで作った時報アプリが動き...
-
セレクトを全て選択されていな...
-
画面遷移を行わずに同一ページ...
-
jsで質問です。 ボタンが二つ存...
おすすめ情報