<%@ Page Language="C#" AutoEventWireup="true" CodeFile="flash.aspx.cs" Inherits="flash" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
  <SCRIPT language=JavaScript>
 
var adNum=0;
  
 
  
var imgPre=new Array();
var j=0;
for (i=1;i<=4;i++) { if( (imgUrl[i]!="") && (imgLink[i]!="") ) {
j++;
} else {
break;
}
}
function setTransition(){
if (document.all){
imgInit.filters.revealTrans.Transition=Math.floor(Math.random()*20);
 imgInit.filters.revealTrans.apply();
 }
}

function playTran(){
if (document.all)
imgInit.filters.revealTrans.play();
}

//var key=0;
function nextAdv()
{
if(adNum<j)adNum++ ;
else adNum=1;
 
if (document.all){

setTransition();
playTran();

}
for (a=1;a<=j;a++)
{
if (a==adNum)
   document.images["num"+a].src="images/gd-"+a+"_"+a+".jpg";
else

document.images["num"+a].src="images/gd-"+a+".jpg";
}
document.images.imgInit.src=imgUrl[adNum];

theTimer=setTimeout("nextAdv()", 5000);

}

function changimg(m)
{
  if(adNum<m)adNum++ ;
else adNum=1;
 
   for (a=1;a<=j;a++)
{
if (a==m)
   document.images["num"+a].src="images/gd-"+a+"_"+a+".jpg";
else

document.images["num"+a].src="images/gd-"+a+".jpg";
}
   document.images.imgInit.src=imgUrl[m];
   adNum=m;
  
}
function gotoUrl(){
jumpUrl=imgLink[adNum];
jumpTarget='_blank';
if (jumpUrl != ''){
if (jumpTarget != '') 
window.open(jumpUrl,jumpTarget);
else
location.href=jumpUrl;
}
}

</SCRIPT>
<!-- 动态图结束 -->
    
    
    
    
<body >
    <form id="form1" runat="server">
    <table>
    <tr>
   <td><img name="gd2" src="images/gd2.gif" width="10" height="205" border="0" id="gd2" alt="" /></td>
   <td><a href='javascript:gotoUrl()'>
<img style="FILTER: revealTrans(duration=1,transition=5);color:#000000" src="javascript:nextAdv()" width="246" height="205" border="0" alt="" name="imgInit" /></a></td>
   <td><img name="gd4" src="images/gd4.gif" width="12" height="205" border="0" id="gd4" alt="" /></td>
  </tr>
  <tr>
   <td width="268" height="31" colspan="3" background="images/gd3.gif"><div align="right">
 <script language=javascript>
  for (b=1;b<=j;b++)
{
document.write('<img name=num'+b+' // border=0  onClick=changimg('+b+') style=cursor:hand;>');}  </script>
 &nbsp; 
</div></td>
  </tr>
    </table>
   < 
    </form>
</body>
</html>cs:using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;public partial class flash : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        
        string[] arr1;
        string[] arr2;        this.CreateArray(out arr1, out arr2);        StringBuilder sb = new StringBuilder();
        StringBuilder sb1 = new StringBuilder();        sb.AppendFormat("var imgUrl=new Array({0});\r\n", arr1.Length);
        for (int i = 1; i < arr1.Length; i++)
        {
            sb.AppendFormat("imgUrl[{0}]='{1}';\r\n", i, arr1[i]);
        }
        Page.ClientScript.RegisterStartupScript(typeof(String), "Array", sb.ToString(), true);
        sb1.AppendFormat("var imgLink=new Array({0});\r\n", arr2.Length);
        for (int i = 1; i < arr2.Length; i++)
        {
            sb1.AppendFormat("imgLink[{0}]='{1}';\r\n", i, arr2[i]);
        }
        Page.ClientScript.RegisterStartupScript(typeof(String), "Array1", sb1.ToString(), true);
    }    protected void CreateArray(out string[] arr1, out string[] arr2)
    {
        arr1 = new string[5];
        arr2 = new string[5];
        for (int i = 1; i < 5; i++)
        {
            arr1[i] = String.Format("images/{0}.jpg", i);
            arr2[i] = String.Format("read.aspx?id={0}", i);
        }
    }
}
为什么老是js提示找不到 imgInit ,明明在 img里有定义,在asp页面中是一切正常的
上面代码实现图片轮播

解决方案 »

  1.   

    你把head里的js代码放到</FORM>下面试下
      

  2.   

    <img style="FILTER: revealTrans(duration=1,transition=5);color:#000000" src="javascript:nextAdv()" width="246" height="205" border="0" alt="" name="imgInit" />===><img style="FILTER: revealTrans(duration=1,transition=5);color:#000000" src="javascript:nextAdv()" width="246" height="205" border="0" alt="" name="imgInit"  id="imgInit"/>
      

  3.   

    你把head里的js代码放到</FORM>下面试下 还是 一样提示
      

  4.   

    to: blackant2(乔峰)  加了id="imgInit"   还是一样的错误 ,imgInit还是未定义,就是JS这句 imgInit.filters.revealTrans.Transition=Math.floor(Math.random()*20);
      

  5.   

    imgInit.filters.revealTrans.Transition
    ==>
    filters.revealTrans.transition
      

  6.   

    不行 用这个Page.ClientScript.RegisterStartupScript 输入的客户端的值,可以最上面的JS读不到?
     最好在最上面,不知用这个方法来注册到客户端
      

  7.   

    document.getElementById("imgInit").filters.revealTrans.Transition