你调试一下不就知道了,在填完innerHTML后,打出来看看,如果innerHTML是OK的那就是浏览器问题了,这样你把设置innerHTML用setTimeout延迟一点set就没问题了:)

解决方案 »

  1.   


    firefox: 
    1,点弹出层里,图片第一次总可以出现 
    2,在弹出层里,点刷新firebug告诉找不到'函数'? 另外在firefox里,点击‘刷新’怎么告诉找不到函数呢?这个奇怪?
      

  2.   


    在ie下面,我把这两个函数改成function change_img(){
    var d = new Date();
    //alert('test');
    document.getElementById('change_img').src = 'http://bbs.dedecms.com/ck.php?nowtime='+d;
    alert(document.getElementById('change_str').innerHTML);
    }//创建显示的层
    function modify_param_div(param_id,pro_id){
    dvs = create_page_div("450px","260px",0,"");
    var d = new Date();
    var div_str = '';
    div_str += '<span id="change_str"><img id="change_img" src="http://bbs.dedecms.com/ck.php?nowtime='+d+'"><a href="javascript:void(0)" onclick="change_img()">刷新</a></span>';
    dvs.innerHTML = div_str;
    alert(document.getElementById('change_str').innerHTML);
    return false;
    }这样我的图片90%的几率会能出来,这样的修改只是加了alert一下,为什么图片出现几率就增加这么多呢
      

  3.   

    另外在firefox里,点击‘刷新’怎么告诉找不到函数呢?这个奇怪?
    ----因为你的img的id和函数重名了function change_img(){ 
    var d = new Date(); 
    //alert('test'); 
    document.getElementById('change_img').src = 'http://bbs.dedecms.com/ck.php?nowtime='+d; 
    } //创建显示的层 
    function modify_param_div(param_id,pro_id){ 
    dvs = create_page_div("450px","260px",0,""); 
    var d = new Date(); 
    var div_str = ''; 
    div_str += ' <img id="change_img" src="http://bbs.dedecms.com/ck.php?nowtime='+d+'"> <a href="javascript:void(0)" onclick="change_img()">刷新 </a>'; 
    dvs.innerHTML = div_str; 
    return false; 
      

  4.   

    http://bbs.dedecms.com/ck.php?nowtime当然还还跟这个服务器速度有关啊服务器速度慢当然显示的也慢
      

  5.   

    我把http://bbs.dedecms.com/ck.php?nowtime 改成我自己的验证码php路径,情况是一样的,php如下,速度慢貌似说不通的<?php
    /**
     * 验证码显示
     */
    session_start();
    $font  = './luxisr.ttf';
    srand((double)microtime()*1000000); 
    $authnum=rand(1000,9999);
    session_register("authnum");
    //header("content-type:image/png");
    function creat_image($width,$height,$authnum)
    {
    srand((double)microtime()*1000000);
    $im = imagecreate($width,$height);
    $black = ImageColorAllocate($im, 0,0,0);
    $white = ImageColorAllocate($im, 255,255,255);
    $gray = ImageColorAllocate($im, 200,200,200);
    imagefill($im,0,0,$gray); //将四位整数验证码绘入图片
    imagestring($im, 5, 10, 3, $authnum, $black);
    for($i=0;$i<200;$i++)
    {
    $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
    imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);
    }
    ImagePNG($im);
    ImageDestroy($im);
    }$str =creat_image(60,20,$authnum);
    ?>
      

  6.   

    firefox: 
    1,点弹出层里,图片第一次总可以出现 
    2,在弹出层里,点刷新firebug告诉找不到'函数'? 把你的function或图片的id换个别的 2个命名相同了
      

  7.   

    1,点弹出层里,图片第一次总可以出现 
    2,在弹出层里,点刷新firebug告诉找不到'函数'? 
    FF和IE不一样ID和函数名不要一样,不然会出错
    最好你命名的时候规范些,函数名尽量不要与id或name一样
      

  8.   


    js 中很多问题都是这个现象所以我建议你做个 setTimeout 让 div 插入 dom 后在设置他的 innerHTML 这样基本就不会有问题了:)
      

  9.   

    因为你执行alert后,实际上是给他加载的时间了
      

  10.   

    ie6下加载不了图片帮你找到问题了,是你<a href="javascript:void(0)" 的href设置为javascript:void(0)原因只要你把<a href="javascript:void(0)" 设置为<a href="#"就不会出现问题了 
    这个可能是ie6的对js实现上的一个bug???firefox的问题卡我6楼的回答,img的id和函数名重复了
      

  11.   

    我说呢, 放到新页面用<input就没有问题~ 呵!!!
      

  12.   

     
    看到很多网站都有javascript:void(0)  这中写法
    到底有啥用????
      

  13.   

    呵呵,在连接中比较常用比如<a href="javascript:" onclick="show()"></a>如果是<a href="index.jsp" onclick="show()"></a>那他后面的onclick就没作用了
      

  14.   


    我只知道javascript:void(0)不会让网页屏幕回到网页头部,其他的就不晓得了
      

  15.   

    啊~~居然这个也会有原因,Mark~~那 javascript:; 这种写法可以吗