........省略部分代码:
var elem = "document.getElementById('what')";

fadeIn(elem,100,100);}function fadeIn(elem, speed, opacity){ 
    speed = speed || 20; 
    opacity = opacity || 100; 
    //显示元素,并将元素值为0透明度(不可见) ;
alert(elem);
elem.style.display = 'block'; 
    iBase.SetOpacity(elem, 0)     //初始化透明度变化值为0 
    var val = 0     //循环将透明值以5递增,即淡入效果 
    (function(){ 
        iBase.SetOpacity(elem, val); 
        val += 5 ;
        if (val <= opacity)            
setTimeout(arguments.callee, speed) 
             })()
} 浏览器报这样的错误:
elem.style is undefined
[在此错误处中断] elem.style.display = 'block'; 

解决方案 »

  1.   

    var elem = document.getElementById('what');fadeIn(elem,100,100);
    这样,外面不加双引号
      

  2.   

    var elem = document.getElementById('what');
    为什么要加引号
      

  3.   

    没有获取到 elem对象 你的alert 有东西吗?试试var elem = document.getElementById("what");
      

  4.   

    alert(elem);
     我想知道这里输出的ELEM 是什么?
      

  5.   


    我alert出来的是:document.getElementById('what'),我想,应该就得这样,但是elem.style.display为什么就找不到对象????
      

  6.   


    这位大哥说对了,我想,应该是字符串而已了,太想当然了然后该程序还有个错误:iBase.SetOpacity(elem, val); 初始化这是样写的吗?浏览器报错:iBase is not defined
    [在此错误处中断] iBase.SetOpacity(elem, 0) //初始化透明度变化值为0 
      

  7.   

    你加了引号 
    elem就是个字符串
    elem.style当然就是undefind
      

  8.   

    楼主要理解,alert();这个函数对于传入的所有对象都会执行转化为字符串的方法,况且你的elem本身就是个字符串。