ロールオーバー(2)

[新着] Webテンプレートを仮オープンしました



0   名前: happy : 2004/09/29 01:00
ここのJavaのロールオーバー(2)についての質問なんですけど、
手始めにそのまま流用してやってみたのですが、うまく動作しません。
HP作成ソフトと組み合わせてやっているのですが、それによると、ここがおかしいらしいのですが…。

<IMG SRC="image/sankaku_off.gif" ALT="s1" WIDTH="15" HEIGHT="17" NAME="img1">
<A HREF="change2.html" onMouseOver="On('img1')" onMouseOut="Off('img1')">Sample1</A>

これを流用してこうしてみたのですが…。

<TD width="10" height="10"><FONT size="-1"><IMG src="off.jpg" width="10" height="10" name="img1" border="0"></FONT></TD>
<TD><FONT size="-1"><A onmouseover="on('img1')" onmouseout="off('img1')" href="diary9.html">日記</A></FONT></TD>


あくまで推測なのですが、img1あたりが間違ってると思うのですが、どうやってもうまくいきません。
どなたか心当たりのある方、ご享受願います。

1   名前: むむりく : 2004/09/29 01:25
こちらですね?
http://www.tagindex.com/javascript/link/change2.html

作成ソフトのプレビューなどでなく、
ブラウザで見てもうまく動作しないのですか?

後者ですが、函数名は On, Off に戻しておきましょう。

ちなみに ALT="s1" は、alt="" がいいかも。
[s1]と表示されたら、逆に混乱すると思うので。


2   名前: U D : 2004/09/29 15:00
> <A onmouseover="on('img1')" onmouseout="off('img1')" href="diary9.html">

サンプルソースをそのまま使ったのであれば
on('img1') off('img1') ではなく、
On('img1') Off('img1') にしてください。
あとは、
http://www.tagindex.com/javascript/link/change2.html
を読んだとおりにすればできるはずです。

3   名前: happy : 2004/09/29 16:09
返信ありがとうございます。
>>むむりくさん
>ちなみに ALT="s1" は、alt="" がいいかも。
ALTは使っていないのですが、使ったほうがいいのでしょうか?

>作成ソフトのプレビューなどでなく、
>ブラウザで見てもうまく動作しないのですか?
IE6で動作確認をしましたが駄目でした。
ソフトでみると『オブジェクトを指定してください』と表示されます。

>函数名は On, Off に戻しておきましょう。
函数名というのは
<A onmouseover="on('img1')" onmouseout="off('img1')" href="diary9.html">日記</A>
この部分のことですよね?

>>U Dさん
U Dさんが仰ってるのもむむりくさんと同じ函数名のことですよね?
しかしそこをOnやOffにしても動作しません。



<!--
if (document.images) {

var On = new Image();
On.src = "on.jpg"; // ポイント時の画像

var Off = new Image();
Off.src = "off.jpg"; // 通常の画像

}

function On(name) {

if (document.images) {
document.images[name].src = On.src;
}

}

// 放した時の処理
function Off(name) {

if (document.images) {
document.images[name].src = Off.src;
}

}
// -->
</SCRIPT>

上部にこちらのスクリプト記述をしているのですが、こちらが間違っているのでしょうか?

4   名前: U D : 2004/09/29 19:00
> var On = new Image();
> On.src = "on.jpg"; // ポイント時の画像
> var Off = new Image();
> Off.src = "off.jpg"; // 通常の画像

> document.images[name].src = On.src;
> document.images[name].src = Off.src;

これら6つの On や Off を、"on" "off"に直してください。
詳しいことを言えば、
> function On(name)
などの"On"というのは、「関数」で、
上の方に挙げた6つの"On""Off"は、「変数」です。
つまりどちらも同じ名前にしてしまったためにエラーになったのではないでしょうか?

どっちみちこのような場合間違えやすいので、どちらかの名前を変えておいた方が分かりやすいと思います。

> 後者ですが、函数名は On, Off に戻しておきましょう。
函数名→関数名 ですね。

5   名前: むむりく : 2004/09/30 00:33
> ALTは使っていないのですが、使ったほうがいいのでしょうか?
img 要素には必須の属性ですので、ぜひぜひ。

> 函数名→関数名 ですね。
函数名=関数名 にしていただけると……
あまり一般的でない書き方してしまったのは申し訳ありません。
お気に入りの言葉なので思わず。

全然関係ないけど、一般的な説。
' function ' → 中国で「ファンスー」 → 「函数」(ブラックボックスの意味も)→ 「関数」

6   名前: U D : 2004/10/01 17:13
へぇへぇへぇへぇへぇ(5へぇぐらいかな?)

そうだったんですか!
全然知りませんでした!

「函数」という表現、覚えておくことにします。

7   名前: happy : 2004/10/01 20:44
えーと、いっぺんにいろいろいじってみたら出来ました。
結局何がどういけなかったのか、原因が分からずじまいですが、出来たので良しとします。

アリガトウございました!

一覧へ戻る