いくつかのボタン(div)を含むDIVがあります。各ボタンはonmouseover
、対応するすべてのdivのプロパティを変更するように設定されています。私はJavascriptが非常に新しいので、Dreamweaverの動作を使用してこれを作成しました。さて私の問題はです。Chrome、Firefox、Safariでは完全に機能しますが、InternetExplorerでは何も機能しません。私はどこから始めればよいか知っています。ここで問題のウェブサイト
質問する
1354 次
1 に答える
0
したがって、問題はこの関数にあります。
function MM_changeProp(objId,x,theProp,theValue) { //v9.0
var obj = null; with (document){ if (getElementById)
obj = getElementById(objId); }
if (obj){
if (theValue == true || theValue == false)
eval("obj.style."+theProp+"="+theValue);
else eval("obj.style."+theProp+"='"+theValue+"'");
}
}
具体的には、この行:
else eval("obj.style."+theProp+"='"+theValue+"'");
IE8は、backgroundImage
プロパティを変更しようとすると窒息し、次のように評価しようとします。
obj.style.backgroundImage=' url(../images/homepointer1.png)'
とスロー
SCRIPT87: Invalid argument.
これは、値に余分なスペースがあり、URL文字列を引用符で囲んでいないためだと思います。基本的に、コードに次のようなものがある場合:
' url(../images/homepointer2.png)'
次のように修正する必要があります。
'url("../images/homepointer2.png")'
これを確認する簡単な方法がなかったので、修正が正しくない可能性がありますが、それは間違いなくあなたの問題がどこにあるかです。ちなみに、IE7 / IE8でのみ壊れており、IE9でうまく機能します。
于 2012-08-18T04:25:11.567 に答える