js代码:
function swapTwo()
{
 var the_image = prompt("write winter or sunset","");//输入winter or sunset
 window.document.the_image.src = "ajax-loader.gif";
}
html代码:
<img src="Winter.jpg" width="400" height="300" name="winter" />
<img src="sunset.jpg" width="400" height="300"  name="sunset"/>这里js寻找名字叫 the_image而不是所希望的"winter"或者"sunset",这是为什么?
 
 
 

解决方案 »

  1.   

    window.document.the_image.src = "ajax-loader.gif"; 建议改成:document.getElementsByName(the_image)[0].src="ajax-loader.gif";
      

  2.   

    寻找the_image 从而使用你需要的图片呀。
      

  3.   

    请注意象这样的几行语句:
    [code]
    the_image_object = window.document.parrot;
    它把一个图象对象敷给了一个变量。虽然看起来有点儿奇怪,它在语法上却毫无问题。
    但当你有100个而不是两个图象时怎么办?你只好写上一大堆的 if-then-else语句,要是能象这样就好了:function swapTwo()
    {
    var the_image = prompt("change parrot or cheese","");
    window.document.the_image.src = "ant.gif";
    }
    不幸的是, Javascrīpt将会寻找名字叫 the_image而不是你所希望的"cheese"或者"parrot"的图象,
    于是你得到了错误信息:”没听说过一个名为the_image的对象”。还好,eval能够帮你得到你想要的对象。function simpleSwap()
    {
    var the_image = prompt("change parrot or cheese","");
    var the_image_name = "window.document." + the_image;
    var the_image_object = eval(the_image_name);
    the_image_object.src = "ant.gif";
    }
    如果用户在提示框里填入"parrot",在第二行里创建了一个字符串即window.document.parrot. 然后包含了eval的第三
    行意思是: "给我对象window.document.parrot" - 也就是你要的那个图象对象。一旦你获取了这个图象对象,你可以把
    它的src属性设为ant.gif. 有点害怕?用不着。其实这相当有用,人们也经常使用它。
    我们常常在Javascrīpt中间到Eval这个函数,
    有些人觉得这个函数很奇怪,可以把一些字符串变的功能很强大
    在我们需要将普通的字符串转变成具体的对象的时候,就会用到这个函数