JavaSriptで(onmouseover)をするには?

[上に] [前に] [次に]
匿名希望 1998/01/14(水) 16:59:48
助けてください。マウスが通過した時にフォントの色がくるくる
変わるようにしたいのですが、どうしてもNetscapeで成功しません。
どこが悪いのでしょうか?ご存知の方いませんか?
助けてください。


<SCRIPT Language="JavaScript">
<!--
{
        document.body.onmouseover=makeCool;
        document.body.onmouseout=makeNormal;
    }
    function makeCool() {
        src = event.toElement;
        if (src.tagName == "A") {
            src.oldcol = src.style.color;
            src.style.color = "magenta";
        }
    }
    function makeNormal() {
        src=event.fromElement;
        if (src.tagName == "A") {
            src.style.color = src.oldcol;
        }
}
// -->
</SCRIPT>

びろ〜ん 1998/01/15(木) 18:17:17
その前に、JavaScriptでフォントの色をくるくる変えるなんてことは、
できないと思いますが。

ywai [E-Mail] 1998/01/16(金) 21:07:35
IE, NN4.0でのお話ですよね?
NNのJavaScriptでは、toElement, tagName, またstyleコレクションなどはありませんので、
基本的に「リンクの色を変える」ことは、NNではできません。
かなり強引な方法ですが、以下で同じ表現が可能です。が、、(^-^;;

<HEAD>
<SCRIPT LANGUAGE="JavaScript">
document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
document.onmouseover = changeColor;
document.onmouseout = returnColor;

var links = new Array();
links['a1'] = "link comment";

function changeColor(e){
if(e.target.name){
var ids = e.target.name;
var srcEle = document.layers[ids];
srcEle.document.open();
srcEle.document.write("<a href='somefile.htm'><font color='red'>" +links[ids]+ "</font></a>");
srcEle.document.close();
}
}
function returnColor(e){
if(e.target.name){
var ids = e.target.name;
var srcEle = document.layers[ids];
srcEle.document.open();
srcEle.document.write("<a href='somefile.htm'><font color='blue'>" +links[ids]+ "</font></a>");
srcEle.document.close();
}
}
</SCRIPT></HEAD>
<BODY>
<DIV ID="a1" style="position:absolute;">
<A name="na1" href="somefile.htm">link comment</A>
</DIV>
...

ywai [E-Mail] 1998/01/17(土) 09:52:37
上記の私のレス、ちょっと反省してます。
NN4.0の場合、こんなJSを書くよりも、リンク部分にはイメージを使うなどされた方が、
はるかにスマートですね。失礼しました。

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