<marquee>在.html文件中内容正常运行,在.aspx文件中却有问题用ie6、ie7、ie8(兼容模式)、傲游3(兼容模式)浏览aspx文件,内容显示不了,用ie8、傲游3等得“极速模式”,却正常
请问是什么原因????麻烦告诉下我,谢谢了!!

解决方案 »

  1.   

    1./*  
    2. * parameter: el -- marquee element  
    3. *   
    4. * html structure:  
    5. * <div ...>  
    6. *  <marquee ...>  
    7. *      <table width="770px"...>  
    8. */  
    9.Marquee = function(el){   
    10.    el.parentNode.style.overflow = "hidden";   
    11.    el.parentNode.style.position = "relative";   
    12.       
    13.    var tab = el.getElementsByTagName("table")[0];   
    14.    el.parentNode.appendChild(tab);   
    15.    el.parentNode.removeChild(el);   
    16.    el = tab;   
    17.    el.style.position = "absolute";   
    18.    el.style.left = "0px";   
    19.       
    20.    pfun = this;   
    21.       
    22.    this.pauseflag = false;   
    23.    el.onmouseover = function(){pfun.pause()};   
    24.    el.onmouseout = function(){pfun.resume()};   
    25.       
    26.    this.direction = -1;   
    27.       
    28.    this.timer = window.setInterval(function(){   
    29.        if(!pfun.pauseflag){   
    30.            var left = parseInt(el.style.left);   
    31.               
    32.            /*  
    33.             * table 里总共有10张图片一字排开,  
    34.             * 长度770px,这里使用540px,  
    35.             * 原因是考虑到最后3幅图片不能全部飞过,  
    36.             * 否则会有一段间隙显示空白  
    37.             */  
    38.            if(left < 0 && left <= -540){   
    39.                pfun.direction = 1   
    40.            }else if(left >= 0){   
    41.                pfun.direction = -1;   
    42.            }   
    43.            el.style.left = (left + (5*pfun.direction))+"px";   
    44.        }   
    45.    }, 200);   
    46.}   
    47.  
    48.Marquee.prototype = {   
    49.    pause : function(){   
    50.        this.pauseflag = true;   
    51.    },   
    52.       
    53.    resume : function(){   
    54.        this.pauseflag = false;   
    55.    }   
    56.}   
    57.  
    58./*  
    59. * check is firefox 2.x  
    60. */  
    61.if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){   
    62.    var ffversion=new Number(RegExp.$1) // capture x.x portion and store as a number   
    63.     if (ffversion>=2 && ffversion <= 3){   
    64.         var els = document.getElementsByTagName("marquee");   
    65.         for(var i = 0 ; i < els.length; i++)   
    66.             new Marquee(els[i]);   
    67.     }   
    68.}  
     HTML代码:
    </marquee>  
    3.<script type="text/javascript" src="js/marquee.js"></script>  
      

  2.   

    <marquee behavior="alternate" direction="left" loop="infinite" scrollamount="3" onmouseover='this.stop()' onmouseout='this.start()'>
    <asp:DataList ID="DataList11" runat="server" RepeatLayout="Flow" RepeatDirection="Horizontal">
    <ItemTemplate>
    <a href="http://www.xxx.com.cn/shownews.aspx?id=<%# DataBinder.Eval(Container.DataItem, "id")%>" target="_blank" class="links">&nbsp;<%# DataBinder.Eval(Container.DataItem, "title")%>&nbsp;</a> | 
    </ItemTemplate>
    </asp:DataList>
    </marquee>
      

  3.   

    在网页上查看源文件,</marquee>代码的内容正常,跟放在html文件上的一样,但就是浏览器上看不到任何内容,源文件上是有的。
      

  4.   

    去掉
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    试试
      

  5.   

    本帖最后由 net_lover 于 2011-09-16 15:39:52 编辑
      

  6.   

    下面代码在ie6,6,9,firefox,chrome下都正常
    <%@ Page Language="C#" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script runat="server">  
      protected System.Data.DataTable CreateMengxianhuiDataSource()
      {
        System.Data.DataTable dt = new System.Data.DataTable();
        System.Data.DataRow dr;
        dt.Columns.Add(new System.Data.DataColumn("id", typeof(System.Int32)));
        dt.Columns.Add(new System.Data.DataColumn("Name", typeof(System.String)));
        dt.Columns.Add(new System.Data.DataColumn("Count", typeof(System.Double)));
        dt.Columns.Add(new System.Data.DataColumn("CreateDate", typeof(System.DateTime)));    System.Random rd = new System.Random();
        for (int i = 0; i < 10; i++)
        {
          dr = dt.NewRow();
          dr[0] = i + i;
          dr[1] = "【孟子E章】" + i.ToString();
          dr[2] = System.Math.Ceiling(rd.NextDouble() * 1000);
          dr[3] = DateTime.Now.AddDays(rd.Next(100) - rd.Next(100));
          dt.Rows.Add(dr);
        }
        return dt;
      }  protected void Page_Load(object sender, EventArgs e)
      {
        DataList11.DataSource = this.CreateMengxianhuiDataSource();
        DataList11.DataBind();
      }
    </script>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
    </head>
    <body>
      <form id="form1" runat="server">
      <marquee behavior="alternate" direction="left" loop="infinite" scrollamount="3" onmouseover='this.stop()'
        onmouseout='this.start()'>
    <asp:DataList ID="DataList11" runat="server" RepeatLayout="Flow" RepeatDirection="Horizontal">
    <ItemTemplate>
    <a href="x.aspx?id=<%# DataBinder.Eval(Container.DataItem, "id")%>" target="_blank" class="links">
    &nbsp;<%# DataBinder.Eval(Container.DataItem, "Name")%>&nbsp;</a> | 
    </ItemTemplate>
    </asp:DataList>
    </marquee>
      </form>
    </body>
    </html>