0

いくつかのボタン(div)を含むDIVがあります。各ボタンはonmouseover、対応するすべてのdivのプロパティを変更するように設定されています。私はJavascriptが非常に新しいので、Dreamweaverの動作を使用してこれを作成しました。さて私の問題はです。Chrome、Firefox、Safariでは完全に機能しますが、InternetExplorerでは何も機能しません。私はどこから始めればよいか知っています。ここで問題のウェブサイト

4

1 に答える 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 に答える