マウスオーバー関係のスクリプトについて教えて下さい。
[上に]
[前に]
[次に]
平和堂
2000/06/07(水) 22:31:43
<script language="JavaScript">
<!--
if(navigator.appVersion.charAt(0) >= "3"){
img = new Array();
img[0] = new Image; img[0].src = "home.gif";
img[1] = new Image; img[1].src = "home_s.gif";
img[2] = new Image; img[2].src = "new.gif";
img[3] = new Image; img[3].src = "new_s.gif";
}
function chg_img(a,b){ //aは下のnameに、bは上の配列に対応
if(navigator.appVersion.charAt(0) >= "3"){
document.images[a].src=img[b].src;
}
}
//-->
</script>
上のスクリプトはメニュー画像をマウスオーバーで切りかえるというものですが、メニュー画像(項目)を増やす場合は、単にimg[4] = new Image; img[4].src = "****.gif";というように足していけば良いのでしょうか?
if(navigator.appVersion.charAt(0) >= "3"){ ←ここの(0)とか"3"とかは何を表しているのでしょうか?
また、実際に配置する場所には、
<a href="script.htm" onMouseOver="chg_img('img1',1)" onMouseOut="chg_img('img1',0)"><img border=0 name="img1" src="home.gif"></a>
と記入するようですが、
カッコ内の'img1',1
↑この数字は
img[0] = new Image; img[0].src = "home.gif";
↑これを参照するのか
それとも
img[0] = new Image; img[0].src = "home.gif";
↑これを参照するのか
どっちなのでしょうか?
すごーく分かりにくい質問でごめんなさい。
神大二健
[HomePage]
2000/06/07(水) 23:44:07
私もあんまり詳しくないので(^_^;)わかる事だけ書きます。
>if(navigator.appVersion.charAt(0) >= "3"){ ←ここの(0)とか
>"3"とかは何を表しているのでしょうか?
navigator.appVersionはブラウザのバージョンを書き出すオブジェクトですね。
http://www.tohoho-web.com/wwwjsx29.htm
を参考にしましょう。
charAt(0) はnavigator.appVersionで読み込んだ文字列の一番始め
(つまり0文字目)の文字を書き出します。
で、それが >= "3"であれば、以下のスクリプトを実行せよ、
とまあそんな式になってる訳です。
要するにブラウザの振り分けですね。
この場合、NN3かIE4以上だと動くスクリプトと考えてもいいでしょう。
(IE3だと数値を2で返す事があるみたいですから。)
間違ってたらメンゴ。
Fishbone
[HomePage]
2000/06/09(金) 23:43:47
img[0] = new Image; img[0].src = "home.gif";
img[1] = new Image; img[1].src = "home_s.gif";
img[2] = new Image; img[2].src = "new.gif";
img[3] = new Image; img[3].src = "new_s.gif";
は、画像をキャッシュにいれて、マウスがふれた時にすぐ画像を表示するための記述です
>カッコ内の'img1',1
これは、<img border=0 name="img1" src="home.gif">で指定した
name=img1を表します。カンマで区切ってる右側の数字の1の方は、
img[1] = new Image; img[1].src = "home_s.gif";
で指定した画像を表示させるって意味です。だから参照してるのは
右側の数字の1でimg[1].srcの値の"home_s.gif"ってことになるんじゃないかな?
通りすがり1号
2000/06/11(日) 11:35:16
'img'は''が付いてますよね。
これはただの文字列で、何も指していません。
で、
>document.images[a].src
この記述によって、初めて文書内でimgという名前のついた
画像オブジェクトのアドレスを指すようになります。
この場合は、
>name="img1"
で名前が付けられた画像のアドレスを指してます。
halimao
[E-Mail]
2000/06/12(月) 14:45:18
>chg_img(a,b){//aは下のnameに、bは上の配列に対応
とありますように、
onMouseOut="chg_img('img1',0)"の記述でaに「img1」、bに「0」が入ります。
で、document.images[a].src=img[b].src;
というところで、「img1」の所にある画像を、上の配列「0」番目のものに変える処理をします。
<img border=0 name="img1" src="home.gif">←ここでネームを「img1」と設定しています
img[0] = new Image; img[0].src = "home.gif";
これは配列0番目にhome.gifを入れておくという処理です。
という解釈であってるはずですが。間違いあったらごめんなさい(^^;
説明下手なくせにでしゃばってすいません(^^;
[上に]
[前に]
[次に]