document.images['oDIV'+next].style.display   =   ""; 
document.images['oDIV'+NowFrame].style.display   =   "none";  
改成
document.images['oDIV'+next].style.visibility="visible"; 
document.images['oDIV'+NowFrame].style.visibility="hidden";  

解决方案 »

  1.   

    抖动的原因是因为display在none时不站位置,即宽度为0,所以一时宽度高度图片大小,一时又是0,肯定抖了
      

  2.   

    感觉没有问题,要不你就
    var time1=0;
    clearTimeout(time1);
    time1=setTimeout('fnToggle()',   6000);
    在调用前先清除一下之前的
      

  3.   


    //仔细看了你的代码
    var next=NowFrame+1; 
    if(next==MaxFrame+1)   

    NowFrame=MaxFrame; 
    next=1; 

    //这个好像没起到作用
    if(NowFrame==MaxFrame)   
    NowFrame=1; 
    else 
    NowFrame++; 
    }//这个好像应该为
    if(NowFrame==MaxFrame) {  
        NowFrame=1; 
    }else{
        NowFrame++; 
    }//至少问题还没有看出,能提提供完整点的代码,用代码例显示,这样文本写法,很少认真看下去的啦
      

  4.   

    <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN">
    <HTML>
      <HEAD>
        <TITLE>   New   Document   </TITLE>
        <META   NAME="Generator"   CONTENT="EditPlus">
        <META   NAME="Author"   CONTENT="">
        <META   NAME="Keywords"   CONTENT="">
        <META   NAME="Description"   CONTENT="">
      </HEAD>
    <SCRIPT   language="javascript">
    var   NowFrame   =   1;
    var   MaxFrame   =   3;
    var   bStart   =   0;
    var time1=0;
    var arr=new Array("1.jpg","002.jpg","003.jpg")
    function   fnToggle()   {
    var   next   =   NowFrame   +   1;
    if(next   ==   MaxFrame+1)  
    {
    NowFrame   =   MaxFrame;
    next   =   1;
    }
    if(bStart   ==   0)
    {
    bStart   =   1;
       
    setTimeout('fnToggle()',   1000);
    return;
    }
    else
    {
    oTransContainer.filters[0].Apply();
    if(NowFrame==1) 
    {document.images['oDIV1'].src=arr[0];}
    else if(NowFrame==2) 
    {document.images['oDIV1'].src=arr[1];}
    else 
    {document.images['oDIV1'].src=arr[2];}
    oTransContainer.filters[0].Play(duration=3);
    if(NowFrame   ==   MaxFrame)  
    NowFrame   =   1;
    else
    NowFrame++;
    }   
    clearTimeout(time1);
    time1=setTimeout('fnToggle()',   6000);
    }
    fnToggle();
    </SCRIPT>
      <BODY>
        <table   width="778"   height="150"   border="0"   align="center"   cellpadding="0"   cellspacing="2">
        <tr>
            <td   width="135"   height="150"   valign="top"> <img   src="1.jpg"   width="135"   height="150"   border="0"   usemap="#Map"   /> </td>
            <td   width="643"   height="150"   valign="top"><!--焦点图片开始-->
    <DIV   id=oTransContainer   style="FILTER:   progid:DXImageTransform.Microsoft.Wipe(GradientSize=1.0,   wipeStyle=0,   motion='forward');   WIDTH:   643px;   HEIGHT:   150px">
    <A   href="1.jpg"   target=_blank> <IMG   id=oDIV1   style="BORDER-RIGHT:   black   0px   solid;   BORDER-TOP:   black   0px   solid;   DISPLAY:   yes;     BORDER-LEFT:   black   0px   solid;   BORDER-BOTTOM:   black   0px   solid"   height=150   src="1.jpg"   width=643   border=0> </A>
     </DIV>
    <!--焦点图片结束-->
    </td>
        </tr>
    </table>
    111
      </BODY>
    </HTML>
      

  5.   

    楼上的代码有点乱哦,我整理了下,大致如下吧:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
     </HEAD>
    <SCRIPT language="javascript">
    var NowFrame = 1;
    var MaxFrame = 3;
    var bStart = 0;
    var arr=new Array("pic\01.jpg","pic\02.jpg","pic\03.jpg")
        var time1
    function fnToggle() {
    var next = NowFrame + 1;
    if(next == MaxFrame+1) 
    {
    NowFrame = MaxFrame;
    next = 1;
    }
    if(bStart == 0)
    {
    bStart = 1;
      
    setTimeout('fnToggle()',1000);
    return;
    }
    else
    {
    oTransContainer.filters[0].Apply();
    if(NowFrame==1) 
    {document.images['oDIV1'].src=arr[0];}
    else if(NowFrame==2) 
    {document.images['oDIV2'].src=arr[1];}
    else 
    {document.images['oDIV3'].src=arr[2];}
    oTransContainer.filters[0].Play(duration=3);
    if(NowFrame==MaxFrame)  
    NowFrame=1;
    else
    NowFrame++;
    }   
    clearTimeout(time1);
    time1=setTimeout('fnToggle()',6000);
    }
    fnToggle();
    </SCRIPT><BODY>
    <!--焦点图片开始-->
    <DIV id=oTransContainer style="FILTER: progid:DXImageTransform.Microsoft.Wipe(GradientSize=1.0, wipeStyle=0, motion='forward'); WIDTH: 643px; HEIGHT: 150px">
    <A href="pic\01.jpg" target=_blank><IMG id=oDIV1 style="BORDER-RIGHT: black 0px solid; BORDER-TOP: black 0px solid; DISPLAY: yes;  BORDER-LEFT: black 0px solid; BORDER-BOTTOM: black 0px solid" height=150 src="pic\01.jpg" width=643 border=0></A>
    <A href="pic\02.jpg" target=_blank><IMG id=oDIV2 style="BORDER-RIGHT: black 0px solid; BORDER-TOP: black 0px solid; DISPLAY: none; BORDER-LEFT: black 0px solid; BORDER-BOTTOM: black 0px solid" height=150 src="pic\02.jpg" width=643 border=0></A>
    <A href="pic\03.jpg" target=_blank><IMG id=oDIV3 style="BORDER-RIGHT: black 0px solid; BORDER-TOP: black 0px solid; DISPLAY: none; BORDER-LEFT: black 0px solid; BORDER-BOTTOM: black 0px solid" height=150 src="pic\03.jpg" width=643 border=0></A></DIV>
    <!--焦点图片结束-->
    </td>
        </tr>
    </table>
    111
      </BODY>
    </HTML>但第二和第三张图片显示不出来,不知道我的整理对不对~
      

  6.   

    你仔细研究一下我的代码,和你差的有点多,我特意用一个img来显示
    <A   href="1.jpg"   target=_blank> <IMG   id=oDIV1   style="BORDER-RIGHT:   black   0px   solid;   BORDER-TOP:   black   0px   solid;   DISPLAY:   yes;     BORDER-LEFT:   black   0px   solid;   BORDER-BOTTOM:   black   0px   solid"   height=150   src="1.jpg"   width=643   border=0> </A>
    你怎么又全加上了,这样和你原来的做法没有区别,
    你看我的效果有没有问题,你把你的图片换换就行
      

  7.   

    var   arr_href=new   Array("1.jpg","2.jpg","3.jpg") .
    f(NowFrame==1) 
    {document.images['oDIV1'].src=arr[0];
    document.images['oDIV1'].parentNode.href=arr_href[0];
    }
    else if(NowFrame==2) 
    {document.images['oDIV1'].src=arr[1];
    document.images['oDIV1'].parentNode.href=arr_href[1];}
    else 
    {document.images['oDIV1'].src=arr[2];
    document.images['oDIV1'].parentNode.href=arr_href[2];}楼上的方法可以实现,但唯一的不足是图片只能放于根目录下,不能指定目录,不知道还有其他的方法改进吗.
    ~~~~~~~~~~~~~~
    你图片目录不指定怎么显示晕
      

  8.   

    var   arr=new   Array("pic\01.jpg","pic\02.jpg","pic\03.jpg") 
    你在数组里面把相应的三个换成你要的任何路径不就可以了,
    楼主啥时可以揭贴,我要升级了啊,急死了
      

  9.   

    var       arr=new       Array("pic/01.jpg","pic/02.jpg","pic/03.jpg")
       
      

  10.   

    还有最后一个问题就可以结了,呵~
    就是如何改才能使得三张图片指向不同的链接呢,楼上的指定用一个img只能实现一张图的转向地址
      

  11.   

    <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN">
    <HTML>
      <HEAD>
        <TITLE>   New   Document   </TITLE>
        <META   NAME="Generator"   CONTENT="EditPlus">
        <META   NAME="Author"   CONTENT="">
        <META   NAME="Keywords"   CONTENT="">
        <META   NAME="Description"   CONTENT="">
      </HEAD>
    <SCRIPT   language="javascript">
    var   NowFrame   =   1;
    var   MaxFrame   =   3;
    var   bStart   =   0;
    var time1=0;
    var arr=new Array("pic/1.jpg","pic/002.jpg","pic/003.jpg")
    var   arr_href=new   Array("1.jpg","2.jpg","3.jpg") //这里你自己改不行!!!
    function   fnToggle()   {
    var   next   =   NowFrame   +   1;
    if(next   ==   MaxFrame+1)  
    {
    NowFrame   =   MaxFrame;
    next   =   1;
    }
    if(bStart   ==   0)
    {
    bStart   =   1;
       
    setTimeout('fnToggle()',   1000);
    return;
    }
    else
    {
    oTransContainer.filters[0].Apply();
    if(NowFrame==1) 
    {document.images['oDIV1'].src=arr[0];
    document.images['oDIV1'].parentNode.href=arr_href[0];}
    else if(NowFrame==2) 
    {document.images['oDIV1'].src=arr[1];
    document.images['oDIV1'].parentNode.href=arr_href[1];}
    else 
    {document.images['oDIV1'].src=arr[2];
    document.images['oDIV1'].parentNode.href=arr_href[2];}
    oTransContainer.filters[0].Play(duration=3);
    if(NowFrame   ==   MaxFrame)  
    NowFrame   =   1;
    else
    NowFrame++;
    }   
    clearTimeout(time1);
    time1=setTimeout('fnToggle()',   6000);
    }
    fnToggle();
    </SCRIPT>
      <BODY>
        <table   width="778"   height="150"   border="0"   align="center"   cellpadding="0"   cellspacing="2">
        <tr>
            <td   width="135"   height="150"   valign="top"> <img   src="1.jpg"   width="135"   height="150"   border="0"   usemap="#Map"   /> </td>
            <td   width="643"   height="150"   valign="top"><!--焦点图片开始-->
    <DIV   id=oTransContainer   style="FILTER:   progid:DXImageTransform.Microsoft.Wipe(GradientSize=1.0,   wipeStyle=0,   motion='forward');   WIDTH:   643px;   HEIGHT:   150px">
    <A   href="1.jpg"   target=_blank> <IMG   id=oDIV1   style="BORDER-RIGHT:   black   0px   solid;   BORDER-TOP:   black   0px   solid;   DISPLAY:   yes;     BORDER-LEFT:   black   0px   solid;   BORDER-BOTTOM:   black   0px   solid"   height=150   src="1.jpg"   width=643   border=0> </A>
     </DIV>
    <!--焦点图片结束-->
    </td>
        </tr>
    </table>
    111
      </BODY>
    </HTML>我真服你了楼主!-_-