1、贴出php输出的结果
2、$index++;应放在条件判断的外面。否则下标不会改变

解决方案 »

  1.   

    mrwang2000(王先生),我看了,但那些信息中提示的行数不对,我是用写字板或者记事本看的代码,必须用FrontPage吗?
    xuzuning(唠叨),信息如下:
    --------
    1、贴出php输出的结果:
    tid[0] = '670020'; ref_url[0] = ''; newstype[0] = '0'; tid[0] = '665016'; ref_url[0] = ''; newstype[0] = '0'; tid[0] = '664637'; ref_url[0] = ''; newstype[0] = '0'; imgs[0]=new Array("20060602145645_1133.jpg", "1133");titles[0]=new Array("拟开放");tid[1] = '664017'; ref_url[1] = ''; newstype[1] = '0'; tid[1] = '662014'; ref_url[1] = ''; newstype[1] = '0'; imgs[1]=new Array("20060530162025_1099.gif", "1099");titles[1]=new Array("专区开放");tid[2] = '660324'; ref_url[2] = ''; newstype[2] = '0'; imgs[2]=new Array("20060529144640_1090.jpg", "1090");titles[2]=new Array("杂志发布");tid[3] = '644582'; ref_url[3] = ''; newstype[3] = '0'; tid[3] = '642211'; ref_url[3] = ''; newstype[3] = '0'; imgs[3]=new Array("20060516174429_894.jpg", "894");titles[3]=new Array("投入使用");2、我另加一个索引变量$index1,也是不行
      

  2.   

    我另加一个索引变量$index1来控制tid、ref_url、newstype数组,PHP部分代码如下:
    // -------- start ------------
    <?php
    $index = 0;
    $index1 = 0;   //新增
    for($i = 0; $i < count($mainNews); $i++) {
    $record = $mainNews[$i]; echo "tid[" . $index1 . "] = " . "'" . $record["tid"] . "'" . "; ";
    echo "ref_url[" . $index1 . "] = " . "'" . $record["SubTitle"] . "'" . "; ";

    $query_sel = "select newstype from cm_article where EssayId=" . $record["essayid"];
    $result = $db->query($query_sel);
    $rows = $db->fetch_array($result);
    $newstype = trim($rows["newstype"]);
    echo "newstype[" . $index1 . "] = " . "'" . $newstype . "'" ."; "; $index1++; if(isset($record["newspicname"]) and $record["newspicname"] != ""){
    echo "imgs[" . $index . "]=new Array(\"" . $record["newspicname"] . "\", \"" . $record["essayid"] . "\");";
    echo "titles[" . $index . "]=new Array(\"" . substr(trim($record["title"]),0,29) . "\");";  //hu 
    $index++;
    }
    }
    ?>
    // -------- end -------------tid、ref_url、newstype这三个数组是同步的,imgs和titles这两个数组是同步的,但它们彼此间不一定同步。PHP输出如下:tid[0] = '670020'; ref_url[0] = ''; newstype[0] = '0'; tid[1] = '665016'; ref_url[1] = ''; newstype[1] = '0'; tid[2] = '664637'; ref_url[2] = ''; newstype[2] = '0'; imgs[0]=new Array("20060602145645_1133.jpg", "1133");titles[0]=new Array("拟开放");tid[3] = '664017'; ref_url[3] = ''; newstype[3] = '0'; tid[4] = '662014'; ref_url[4] = ''; newstype[4] = '0'; imgs[1]=new Array("20060530162025_1099.gif", "1099");titles[1]=new Array("专区开放");tid[5] = '660324'; ref_url[5] = ''; newstype[5] = '0'; imgs[2]=new Array("20060529144640_1090.jpg", "1090");titles[2]=new Array("杂志发布");tid[6] = '644582'; ref_url[6] = ''; newstype[6] = '0'; tid[7] = '642211'; ref_url[7] = ''; newstype[7] = '0'; imgs[3]=new Array("20060516174429_894.jpg", "894");titles[3]=new Array("投入使用");
      

  3.   

    IE报的JS错,最好直接看IE的查看源文件的代码,上面这些带PHP的代码看起来很费劲的,还有报的什么错误,他提示的还是有些用的,上面的这些还少了mainImgLayer、mainImg等对象
      

  4.   

    好的,我用IE的查看源文件看看
    和mainImgLayer、mainImg相关的部分都没有变(和IE不报错时相比),所以我没贴上,也太长了
      

  5.   

    报的错是:
    --------------
    行:100
    字符:1
    错误:缺少对象
    代码:0
    URL:***
    用IE查看源文件,即输出后的,第100行是 <body onload="changeImg()">
      

  6.   

    var layer = document.getElementById("mainImgLayer");
    var image = document.getElementById("mainImg");
    var imageLink = document.getElementById("mainImgLink");确定页面中有这三个对象吗?
      

  7.   

    shyslysky(飞天),对,有的现在问题解决了,掉了个“]”,hoho
    谢谢大伙
      

  8.   

    这个错误应该是某句function外直接执行的js语句有问题,导致changeImg()不能被识别