画像にマウスを置くと他の画像が変化するワザ?

[上に] [前に] [次に]
あや [E-Mail] 1999/12/14(火) 13:41:39
画像にマウスを置くと、同ページの他の画像が変化するという効果がありますが、いまいち設定がわかりません。

サンプルソースは以下のようになっていますが、image1,gifとimage2.gifの二つの画像を用意する、と書いてあるのに、ソースにはimage2.gifを配置するものが見当たりません。
実行してもオブジェクトが見つかりません、というエラーになります。

どなたか設定の方法を教えて下さい。

<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT Language="JavaScript1.1">
<!---
OnMouse = new Array() ;
  for(i = 1; i < 5; i++) {
  OnMouse[i] = new Image() ;
  OnMouse[i].src = "image" + i + ".gif" ;
  }
function OnMoSet1(flag, position) {
  document.images[position].src=OnMouse[flag].src ;
  return false ;
}
//---}
</SCRIPT>
</HEAD>
<BODY bgcolor="ffff00">
テスト<p>
<A HREF="#" onMouseOver="OnMoSet1(2,1)" onMouseOut=OnMoset1(1,1) OnClick="return OnMoSet(4,1)">
<IMG SRC="image1.gif" ALT="OnMouseA-1" BORDER=0 WIDHT="100" HEIGHT="100"></A>
<A HREF="#" onMouseOver="OnMoSet1(3,0)" onMouseOut=OnMoset1(1,0) onClick="return OnMoSet(4,0)">
<IMG SRC="image1.gif" ALT="OnMouseA-2" BORDER=0 WIDHT="100" HEIGHT="100"></A>
</BODY>
</HTML>

P初心者 1999/12/14(火) 14:02:07
このスクリプトのHTMLファイルと同じディレクトリー(フォルダー)へ
image1.gifとimage2.gifをバイナリモードでftpすればいけそうです!

>ソースにはimage2.gifを配置するものが見当たりません。
スクリプトで動的に指定しています。
> OnMouse[i].src = "image" + i + ".gif" ;

あとなんか、image3.gif image4.gif も必要では?

たこすけ 1999/12/14(火) 15:50:09
> <!---
<!--
> //---}
-->
> onMouseOut=OnMoset1(1,1)
> onMouseOut=OnMoset1(1,0)
onMouseOut="OnMoSet1(1,1)"
onMouseOut="OnMoSet1(1,0)"

> あとなんか、image3.gif image4.gif も必要では?
falseを返しているのでimage4.gifは無くても良いのでは?

たこすけ 1999/12/14(火) 15:53:07
すいません訂正させて下さい。


> //---}
-->


> //---}
//-->

あや 1999/12/14(火) 17:30:00
ありがとうございます。
だいたい成功して、いろんなパターンで挑戦してます(^^)。

しかし、クリックした後にオブジェクトを指定してください、というスクリプトエラーになります。
タイプミスかと思い、何度も打ち込み直したんですが、ダメです。

>onMouseOut="OnMoSet1(1,1)"
の部分も、「""」が抜けていただけだと思ったんですが、一応いちからタイプしなおしても治らず、そのままコピー&ペーストさせてもらったら動作しました。

なにが違うのでしょう・・・。

P初心者 1999/12/14(火) 19:09:14
このスクリプトのあるページのURLを教えて下さい!

たこすけ 1999/12/14(火) 19:21:48
> falseを返しているのでimage4.gifは無くても良いのでは?
これ大嘘ですね。(P初心者さん、ごめんなさい)

> クリックした後にオブジェクトを指定してください、というスクリプトエラーになります。
> タイプミスかと思い、何度も打ち込み直したんですが、ダメです。

> OnMoSet(4,1)
1が抜けてるのは修正しました?

> なにが違うのでしょう・・・。
最初のは S が小文字でした。

あや 1999/12/15(水) 14:16:44
できました!!
ありがとうございます。

>このスクリプトのあるページのURLを教えて下さい!
「詳解 html&javascript」という参考書です(^^;。

> OnMoSet(4,1)
>1が抜けてるのは修正しました?

。。。正にこれでした(^^;。

あや 1999/12/16(木) 08:16:40
すみません、追加質問です。

これでやっていると、image4までしか認識せず、image5〜の画像を指定するとエラーになってしまいます。
これを実行できるようにするにはどうしたら良いのでしょうか?

また、同じワザらしきWEB画面で以下のようなスクリプトを見つけました。ちょっと長くて申し訳ないですが引用します。
この「btn」や「'gift'」は何を意味するものですか?

if (num=="11") document.images['gift'].src=btn11.src;
の部分もどういうことをする命令分ですか?

--------

<SCRIPT LANGUAGE="JavaScript">

<!--

var str = navigator.userAgent;
if ((str.indexOf('Mozilla/') != -1) && (str.indexOf('/2') == -1)) {
btn11=new Image();
btn12=new Image();
btn21=new Image();
btn22=new Image();
btn31=new Image();
btn32=new Image();
btn41=new Image();
btn42=new Image();
btn51=new Image();
btn52=new Image();
btn61=new Image();
btn62=new Image();
btn71=new Image();
btn72=new Image();

btn11.src="image/center.gif";
btn12.src="image/06.gif";
btn21.src="image/center.gif";
btn22.src="image/05.gif";
btn31.src="image/center.gif";
btn32.src="image/04.gif";
btn41.src="image/center.gif";
btn42.src="image/03.gif";
btn51.src="image/center.gif";
btn52.src="image/center-.gif";
btn61.src="image/center.gif";
btn62.src="image/07.gif";
btn71.src="image/center.gif";
btn72.src="image/02.gif";
}

function display(num) {
if (num=="11") document.images['gift'].src=btn11.src;
if (num=="12") document.images['gift'].src=btn12.src;
if (num=="21") document.images['gift'].src=btn21.src;
if (num=="22") document.images['gift'].src=btn22.src;
if (num=="31") document.images['gift'].src=btn31.src;
if (num=="32") document.images['gift'].src=btn32.src;
if (num=="41") document.images['gift'].src=btn41.src;
if (num=="42") document.images['gift'].src=btn42.src;
if (num=="51") document.images['gift'].src=btn51.src;
if (num=="52") document.images['gift'].src=btn52.src;
if (num=="61") document.images['gift'].src=btn61.src;
if (num=="62") document.images['gift'].src=btn62.src;
if (num=="71") document.images['gift'].src=btn71.src;
if (num=="72") document.images['gift'].src=btn72.src;
}

// -->

</SCRIPT>

[上に] [前に] [次に]