不好意思,我的意思是说:js加载图片时没有这个函数 onreadystatechange()

解决方案 »

  1.   

    还有就是能不能再加一个功能啊?就是当图片地址不存在的时候或网络不通的时候,能不能弹出,错误信息啊?
    难就难在实时的反应一个图片的加载加载状态,如果图片没有像
    ajax中的onreadystatechange()这个属性的话,只有用setTimout()隔一段时间再看他的状态了
    请问一下,大家有好的办法吗?
      

  2.   

    不能获得 状态img 
    有onload和onerror事件,可以判断是滞载入或出错如果出错,会触发onerror事件如果完全载入,触发onload事件你可以onload中设一个变量,用一个时间函数检查这个变量,如果这个变量存在,则说明已加载,如果没有,则正在加载,如果超时或出错,取消加载
      

  3.   

    当然有啦..readyState表示XMLHttpRequest对象的处理状态: 
    0:XMLHttpRequest对象还没有完成初始化。 
    1:XMLHttpRequest对象开始发送请求。 
    2:XMLHttpRequest对象的请求发送完成。 
    3:XMLHttpRequest对象开始读取服务器的响应。 
    4:XMLHttpRequest对象读取服务器响应结束。 你可以对hp.onreadystatechange = function() 

    alert(hp.readyState); 

    进行修正,判断readyState
      

  4.   

    <script language='javascript'> 
    //判断状态
    function stateChanged() 

    /*
    if (xmlHttp.readyState==4 || xmlHttp.readyState=='complete')



    */
    switch(xmlHttp.readyState){
    case '0':
    alert(0);

    break;
    case 1:
    alert(1);
    //document.getElementById('txtHint').innerHTML='1';
    break;
    case 2:
    alert(2);
    //document.getElementById('txtHint').innerHTML='2';
    break;
    case 3:
    alert(3);

    break;
    case 4:
    alert(4);
    break;
    } }
    //发送ajax请求
    function showHint(str)

    if (str.length > 0)

    var url='2.php?id='+Math.random()+'&q='+str
    xmlHttp=GetXmlHttpObject(stateChanged) 
    xmlHttp.open('GET', url , true) 
    xmlHttp.send(null) 

    else

    //document.getElementById('txtHint').innerHTML='' 

    }
    //判断ajax对象是否被浏览器支持 
    function GetXmlHttpObject(handler)

    var objXmlHttp=null
    if (navigator.userAgent.indexOf('Opera')>=0)
    {
    alert('This example doesnt work in Opera') 
    return; 
    }
    if (navigator.userAgent.indexOf('MSIE')>=0)

    var strName='Msxml2.XMLHTTP'
    if (navigator.appVersion.indexOf('MSIE 5.5')>=0)
    {
    strName='Microsoft.XMLHTTP'

    try

    objXmlHttp=new ActiveXObject(strName)
    objXmlHttp.onreadystatechange=handler 
    return objXmlHttp

    catch(e)

    alert('Error. Scripting for ActiveX might be disabled') 
    return 


    if (navigator.userAgent.indexOf('Mozilla')>=0)
    {
    objXmlHttp=new XMLHttpRequest()
    objXmlHttp.onload=handler
    objXmlHttp.onerror=handler 
    return objXmlHttp
    }
    }  
    showHint('a');
    </script>
      

  5.   

    灵活点啦,不行就用AJAX实现...
      

  6.   

    <script>var hp = document.createElement("img"); hp.onreadystatechange=function()
    {
    alert(hp.readyState);
    }hp.src = "1.jpg"; 
    document.body.appendChild(hp);</script>