很多网站的左右两边有对联形式的上下可移动的块,我下载了代码,在纯htm文件下就可以用,但在ASP.NET中就不会上下移动了,哪位高手给个例子看看.

解决方案 »

  1.   

    例如你要使 CalendarContainer 这个控件(包括ascx的任意控件)保持在屏幕窗口可见区域距离顶部200像素,可以写(VB.Net):Me.Page.ClientScript.RegisterStartupScript(Me.GetType(), "scroll", _
        "<script>window.onscroll=function(){" + Me.CalendarContainer.ClientID + _
        ".style.top=window.document.body.scrollTop+200;}</script>")
      

  2.   

    没有这个控件,我随便写的。你可以写任何控件对象。VB.Net 和 c# 没有多大区别,完全可以看懂,跳换着看可以避免僵化。
      

  3.   

    c# 就是:this.Page.ClientScript.RegisterStartupScript(this.GetType(), "scroll", _
        "<script>window.onscroll=function(){" + Me.CalendarContainer.ClientID + _
        ".style.top=window.document.body.scrollTop+200;}</script>")
      

  4.   

    sorry,c# 也用不着“_”换行符。
      

  5.   

    哦,当然,如果你知道 html,应该就知道你要滚动的控件应该在style里有一项position为resolute这个值吧?!另外,我说“任意控件(包括ascx)”可能不很可靠。因为有些控件是不一定有客户端输出的。例如placeholder
    、UserControl等,asp.net会根据属性是否需要而自动决定是否要输出一个<span>等变迁,但是我不确定都会输出。所以你如果想让“任意”控件浮动,创建一个panel控件,然后用我写的方法让这个panel浮动在窗口中间。然后你的控件在放入这个panel内部(controls.Add(...))。
    我给你证明了,使用后台代码,可以让任何控件、包括ascx(一个你任意组合而成的小型应用程序),都是可以浮动的。不要去html文件上去写什么代码,去那里去写反而很容易错误、难以复用。
      

  6.   

    <!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>
    <title>对联广告 - 51windows.Net</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>
    <body style="margin:0px;">
    <div align="center">
      <center>
      <table border="1" width="776" height="3000" cellspacing="0" cellpadding="0">
        <tr>
          <td width="100%" valign="top"><div align="center" style="color:green;font-size:23pt;font-family:黑体;"><br><br>页<br>面<br>区<br>域</div></td>
        </tr>
      </table>
      </center>
    </div>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var showad = true;
    var Toppx = 60; //上端位置
    var AdDivW = 100; //宽度
    var AdDivH = 360; //高度
    var PageWidth = 800; //页面多少宽度象素下正好不出现左右滚动条
    var MinScreenW = 1024; //显示广告的最小屏幕宽度象素var ClosebuttonHtml = '<div align="right" style="position: absolute;top:0px;right:0px;margin:2px;padding:2px;z-index:2000;"><a href="javascript:;" onclick="hidead()" style="color:red;text-decoration:none;font-size:12px;">关闭</a></div>'
    var AdContentHtml = '<div align="center" style="color:green;font-size:23pt;font-family:黑体;"><br><br>广<br>告<br>内<br>容</div>';
    document.write ('<div id="Javascript.LeftDiv" style="position: absolute;border: 1px solid #336699;background-color:#EEEEE2;z-index:1000;width:'+AdDivW+'px;height:'+AdDivH+'px;top:-1000px;word-break:break-all;display:none;">'+ClosebuttonHtml+'<div>'+AdContentHtml+'</div></div>');
    document.write ('<div id="Javascript.RightDiv" style="position: absolute;border: 1px solid #336699;background-color:#EEEEE2;z-index:1000;width:'+AdDivW+'px;height:'+AdDivH+'px;top:-1000px;word-break:break-all;display:none;">'+ClosebuttonHtml+'<div>'+AdContentHtml+'</div></div>');
    function scall(){
    if(!showad){return;}
    if (window.screen.width<MinScreenW){
    alert("临时提示:\n\n显示器分辨率宽度小于"+MinScreenW+",不显示广告");
    showad = false;
    document.getElementById("Javascript.LeftDiv").style.display="none";
    document.getElementById("Javascript.RightDiv").style.display="none";
    return;
    }
    var Borderpx = ((window.screen.width-PageWidth)/2-AdDivW)/2; document.getElementById("Javascript.LeftDiv").style.display="";
    document.getElementById("Javascript.LeftDiv").style.top=(document.documentElement.scrollTop+Toppx)+"px";
    document.getElementById("Javascript.LeftDiv").style.left=(document.documentElement.scrollLeft+Borderpx)+"px";
    document.getElementById("Javascript.RightDiv").style.display="";
    document.getElementById("Javascript.RightDiv").style.top=(document.documentElement.scrollTop+Toppx)+"px";
    document.getElementById("Javascript.RightDiv").style.left=(document.documentElement.scrollLeft+document.documentElement.clientWidth-document.getElementById("Javascript.RightDiv").offsetWidth-Borderpx)+"px";
    }function hidead()
    {
    showad = false;
    document.getElementById("Javascript.LeftDiv").style.display="none";
    document.getElementById("Javascript.RightDiv").style.display="none";
    }
    window.onscroll=scall;
    window.onresize=scall;
    window.onload=scall;
    //-->
    </SCRIPT>
    </body>
    </html>
      

  7.   

    参考
    http://blog.csdn.net/net_lover/archive/2006/08/25/1116488.aspx