下面的是个焦点图切换的js代码,在IE下可以浏览,但ff就不能运行了,请大侠指点,我是新手,对js也不是很了解,请尽量详细些,谢谢大家了。var adNum=0;
var buttonShow=1;//显示按扭开关 1:显示 0:不显示
if(imgUrl.length>2) buttonShow=1; else buttonShow=0; //自动判断是否显示按扭
//var buttonPos=1;//按扭显示位置 1:右上 2:右下 3:左上 4:左下
var buttonX;//按扭X坐标
var buttonY;//按扭Y坐标var imgPre=new Array();
var dakularCode="";//将生成按扭HTML代码
var adNum=0;for (i=1;i<6;i++){
imgPre[i]=new Image();
imgPre[i].src=imgUrl[i];
}function setTransition()
{
if (document.all)
{
imgUrlrotator.filters.revealTrans.Transition=23;//Math.floor(Math.random()*23)
imgUrlrotator.filters.revealTrans.apply();
}
}function playTransition()
{
if (document.all)
imgUrlrotator.filters.revealTrans.play();
}function nextAd(toNum)
{
if(adNum<imgUrl.length-1)
adNum++ ;
else
adNum=1;
if(toNum!=null) adNum=toNum;
setTransition();

document.images.imgUrlrotator.src=imgUrl[adNum];
document.images.imgUrlrotator.alt=text[adNum];
//如果要显示文字标题,取消下面的注释
document.getElementById('linktext').innerHTML="<a href="+imgLink[adNum]+" target=_blank>"+text[adNum]+"</a>"; 
playTransition();
if(buttonShow==1){checkButton();}
if(toNum!=null) toNum=null;
theTimer=setTimeout("nextAd()", 6000);
}function jump2url()
{
jumpUrl=imgLink[adNum];jumpTarget='_blank';
if (jumpUrl != '')
{
if (jumpTarget != '')
window.open(jumpUrl,jumpTarget);
else location.href=jumpUrl;
}
}function displayStatusMsg()
{
status=imgLink[adNum];
document.returnValue = true;
}function checkButton()
{
for(i=1;i<=imgUrl.length-1;i++)
{if(i==adNum)
//document.getElementById('bt'+i).style.backgroundColor='#00FF00';
eval("bt"+i+".style.backgroundColor='#ffcc00';bt"+i+".style.color='#FFFFFF';");
else
eval("bt"+i+".style.backgroundColor='#000000';bt"+i+".style.color='#ffffff';");
}
}function dakularButtons()
{if(buttonShow==1){
//table的定位样式,用以消除错位的Bug!
document.getElementById('newsTable').style.position="relative";
document.getElementById('newsTable').style.top="-10px";
switch(buttonPos){
case 1:{buttonX=322-imgUrl.length*20;buttonY=16;break;}
case 2:{buttonX=322-imgUrl.length*20;buttonY=200;break;}
case 3:{buttonX=imgUrl.length*10-100;buttonY=16;break;}
case 4:{buttonX=imgUrl.length*10-100;buttonY=200;break;}
default:{buttonX=322-imgUrl.length*20;buttonY=16;break;}
}
for(i=1;i<=imgUrl.length-1;i++)
{
dakularCode=dakularCode+"<div id='bt"+i+"' style='display:inline; margin-left: 3px;padding:0 5px 0 5px; height:14px; border:1px solid #ffffff; background-color:#CCCCCC; color:#000000; filter: Alpha(Opacity=100);' align='center' onMouseOver=this.style.backgroundColor='#FFFFFF';this.style.color='#000000';this.style.cursor='hand' onMouseOut=checkButton(); onClick='clearTimeout(theTimer);nextAd("+i+");'>"+i+"</div>";
}
dakularCode="<div style='display:inline; position:relative;left:"+buttonX+"px; top:"+buttonY+"px; z-index:1;'>"+dakularCode+"</div>"
document.write(dakularCode);
 }
}

解决方案 »

  1.   

    参考:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <title>dh_adShow</title>
    <style type="text/css">
    html,body {margin:0px;}
    </style>
    <script type="text/javascript" language="javascript">
    function dhAdShow(){
    //author:dh20156;
    this.bannerAd = new Array();
    this.style = 0;
    this.width = 609;
    this.height = 118;
    this.target = "_blank";
    this.targetObj = null;
    this.objAID = ("dh_adLink"+Math.random()).replace(/\./g,"");
    this.objIID = ("dh_adImg"+Math.random()).replace(/\./g,"");
    var imgPL = new Array();
    this.setup = function(){
    if(this.bannerAd && this.bannerAd.length>0){
    for(var i=0;i<this.bannerAd.length;i++){
    imgPL[i] = new Image();
    imgPL[i].src = this.bannerAd[i].src;
    }
    }
    var objA = document.createElement("A");
    var objI = document.createElement("IMG");
    objA.id = this.objAID;
    objA.href = "#";
    objA.target = this.target;
    objA.title = "dh_adShow";
    objI.id = this.objIID;
    switch(this.style){
    case 0:objI.style.filter = "blendTrans(duration=3)";break;
    case 1:objI.style.filter = "progid:DXImageTransform.Microsoft.Wipe(GradientSize=1.0, wipeStyle=0, motion='forward', duration=3)";break;
    default:objI.style.filter = "blendTrans(duration=3)";break;
    }
    objI.width = this.width;
    objI.height = this.height;
    objI.border = 0;
    objI.alt = "dh_adShow"; objA.appendChild(objI);

    if(this.bannerAd.length > 0){
    objI.src = imgPL[0].src;
    objI.alt = this.bannerAd[0].tips;
    objA.href = this.bannerAd[0].url;
    objA.title = this.bannerAd[0].tips;
    } if(this.targetObj == null || this.targetObj == "document.body"){
    var scriptObj = document.getElementsByTagName("script");
    for(var i=0;i<scriptObj.length;i++){
    if(scriptObj[i].innerHTML.indexOf("new dhAdShow()") > -1 && scriptObj[i].parentNode.tagName != "HEAD"){
    this.targetObj = scriptObj[i].parentNode;
    }
    }
    } this.targetObj.appendChild(objA);
    } this.step = 1;
    this.slideShow = function(){
    var oa = document.getElementById(this.objAID);
    var oi = document.getElementById(this.objIID);
    if(this.bannerAd.length > 0 && oa != null && oi != null){
    if(document.all){
    switch(this.style){
    case 0:oi.filters.blendTrans.apply();break;
    case 1:oi.filters[0].apply();break;
    default:oi.filters.blendTrans.apply();break;
    }
    }
    oi.src = imgPL[this.step].src;
    oi.alt = this.bannerAd[this.step].tips;
    oa.href = this.bannerAd[this.step].url;
    oa.title = this.bannerAd[this.step].tips;
    if(document.all){
    switch(this.style){
    case 0:oi.filters.blendTrans.play();break;
    case 1:oi.filters[0].Play();break;
    default:oi.filters.blendTrans.play();break;
    }
    }
    this.step = (this.step<(this.bannerAd.length-1))?(this.step+1):0;
    }
    }
    }
    </script>
    </head>
    <body>
    <script type="text/javascript" language="javascript">
    var bannerAd = new Array();
    bannerAd[0] = {src:"http://image.mdbchina.com/uploadFile/2007-3/wp/2007311232321761726643700.jpg",url:"#",tips:"新干,\"绿色银行1\""};
    bannerAd[1] = {src:"http://image.mdbchina.com/uploadFile/2007-3/wp/2007311232053354760535773.jpg",url:"#",tips:"新干,\"绿色银行2\""};
    bannerAd[2] = {src:"http://image.mdbchina.com/uploadFile/2007-3/wp/20073112320527451786119601.jpg",url:"#",tips:"新干,\"绿色银行3\""};
    bannerAd[3] = {src:"http://image.mdbchina.com/uploadFile/2007-3/wp/20073112320489171593487619.jpg",url:"#",tips:"新干,\"绿色银行4\""};
    bannerAd[4] = {src:"http://image.mdbchina.com/uploadFile/2007-3/wp/20073112320467921304539646.jpg",url:"#",tips:"新干,\"绿色银行5\""};
    bannerAd[5] = {src:"http://image.mdbchina.com/uploadFile/2007-3/wp/20073112320456672137491492.jpg",url:"#",tips:"新干,\"绿色银行6\""};
    var dhss = new dhAdShow();
    dhss.bannerAd = bannerAd;
    dhss.style = 1;
    dhss.target = "_self";
    dhss.setup();
    setInterval("dhss.slideShow()",4000);
    </script>
    </body>
    </html>