页面内容过长,如何定位页面滚动条

2024-03-24 20:38

本文主要是介绍页面内容过长,如何定位页面滚动条,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

有一个页面,由于内容太长,所以出现了垂直滚动条;在页面中,有多个按钮可执行服务器端代码,如此一来,点击了某一按钮执行操作并完成操作后,页面又重新定位在顶端,如果要执行相同按钮的代码,这时候又要拖动滚动条来寻找到相应按钮才能操作,如此,给客户的印象一点都不好,有没有一种办法,能够智能的定位在页面中的位置,比如,点击哪个按钮进行操作,操作完成之后,仍然定位在那个按钮的位置,而不定位在页面顶端呢,还请大虾们赐教,小弟谢过!  
---------------------------------------------------------------  
 
首先asp.net2.0提供了简单的方法。  
如果asp.net1.x,可以用@  Page  SmartNavogation="true"  
---------------------------------------------------------------  
 
<%@  Page  SmartNavigation="true"  
 
---------------------------------------------------------------  
http://singlepine.cnblogs.com/articles/257213.html  
---------------------------------------------------------------  
 
//cs代码          
public  class  WebForm5  :  System.Web.UI.Page  
       {  
               protected  System.Web.UI.WebControls.Button  Button2;                  
               protected  System.Web.UI.WebControls.TextBox  pos;    
                 
               #region  Web  Form  Designer  generated  code  
               override  protected  void  OnInit(EventArgs  e)  
               {  
                       InitializeComponent();  
                       base.OnInit(e);  
               }                  
                 
               private  void  InitializeComponent()  
               {          
                       this.Load  +=  new  System.EventHandler(this.Page_Load);  
 
               }  
               #endregion  
 
               private  void  Page_Load(object  sender,  System.EventArgs  e)  
               {                          
                         
               }  
               protected  string  writebutton()  
               {  
                       string  script="";  
                       script="<table>";  
                       for(int  m=0;m<100;m++)                          
                       {  
                               script+="<tr><td>";  
                               script+=m;  
                               script+="</td></tr>";  
                       }  
                       script+="</table>";  
                       return  script;  
               }  
       }  
//html代码-----------------------------  
1.窗体自身滚动条定位控制  
<HTML>  
       <HEAD>  
               <title>窗体自身滚动条定位控制</title>  
               <meta  content="Microsoft  Visual  Studio  .NET  7.1"  name="GENERATOR">  
               <meta  content="C#"  name="CODE_LANGUAGE">  
               <meta  content="JavaScript"  name="vs_defaultClientScript">  
               <meta  content="http://schemas.microsoft.com/intellisense/ie5"  name="vs_targetSchema">  
               <SCRIPT  type="text/javascript"><!--  
               function  onscrollform()  
               {  
                       document.all["pos"].value  =  document.body.scrollTop;        
               }      
               function  formOnload()  
               {            
                       OnloadForScroll();  
               }    
               function  OnloadForScroll()  
               {  
                       var  spos  =  document.all["pos"].value;  
                       window.scrollTo(  0,  spos  );  
               }                    
--></SCRIPT>  
       </HEAD>  
       <BODY  οnscrοll="onscrollform();"  οnlοad="formOnload();"  scroll="yes"  ms_positioning="GridLayout">  
               <form  id="Form1"  method="post"  runat="server">  
                       <%=writebutton()%>  
                       <asp:textbox  id="pos"  style="DISPLAY:  none"  Runat="server"></asp:textbox>  
                       <asp:Button  id="Button2"  style="Z-INDEX:  102;  LEFT:  336px;  POSITION:  absolute;  TOP:  520px"  runat="server"  
                               Text="可以将页面缩小,把滚动条往下拉看效果"></asp:Button>  
               </form>  
               </FORM>  
       </BODY>  
</HTML>  
2.窗体自身滚动条被禁止,而通过div的滚动条来定位控制  
<HTML>  
       <HEAD>  
               <title>窗体自身滚动条被禁止,而通过div的滚动条来定位控制</title>  
               <meta  content="Microsoft  Visual  Studio  .NET  7.1"  name="GENERATOR">  
               <meta  content="C#"  name="CODE_LANGUAGE">  
               <meta  content="JavaScript"  name="vs_defaultClientScript">  
               <meta  content="http://schemas.microsoft.com/intellisense/ie5"  name="vs_targetSchema">  
               <SCRIPT  type="text/javascript"><!--  
               function  scrollDiv()    
               {    
                       document.all.pos.value  =  document.all.onlinediv.scrollTop;//onlinediv是一个div  
               }    
               function  formOnload()  
               {    
                       OnloadForScroll();    
               }    
               function  OnloadForScroll()    
               {    
                       var  spos  =  document.all["pos"].value;    
                       if(!  spos)spos=0;    
                       document.all.onlinediv.scrollTop=spos;    
               }                  
--></SCRIPT>  
       </HEAD>  
       <BODY  οnscrοll="onscrollform();"  οnlοad="formOnload();"  scroll="no"  ms_positioning="GridLayout">  
               <form  id="Form1"  method="post"  runat="server">  
                       <table  width="300">  
                               <tr>  
                                       <td>  
                                               <div  id="onlinediv"  style="OVERFLOW:  auto;  WIDTH:  100%;  HEIGHT:  560px"  οnscrοll="scrollDiv();">  
                                                       <%=writebutton()%>  
                                               </div>  
                                       </td>  
                               </tr>  
                       </table>  
                       <asp:textbox  id="pos"  style="DISPLAY:  none"  Runat="server"></asp:textbox>  
                       <asp:Button  id="Button2"  style="Z-INDEX:  102;  LEFT:  336px;  POSITION:  absolute;  TOP:  520px"  runat="server"  
                               Text="可以将页面缩小,把滚动条往下拉看效果"></asp:Button>  
               </form>  
               </FORM>  
       </BODY>  
</HTML>  
 
------------------------------------------  
单纯页面时SmartNavigation可行,但是如果页面中加载了用户控件的话,此时就不能用它了,会报错。所以可以为用text来记录滚动条的位置。  

Source

这篇关于页面内容过长,如何定位页面滚动条的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/842714

相关文章

JAVA读取MongoDB中的二进制图片并显示在页面上

1:Jsp页面: <td><img src="${ctx}/mongoImg/show"></td> 2:xml配置: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001

JavaScript全屏,监听页面是否全屏

在JavaScript中,直接监听浏览器是否进入全屏模式并不直接支持,因为全屏API主要是关于请求和退出全屏模式的,而没有直接的监听器可以告知页面何时进入或退出全屏模式。但是,你可以通过在你的代码中跟踪全屏状态的改变来模拟这个功能。 以下是一个基本的示例,展示了如何使用全屏API来请求全屏模式,并在请求成功或失败时更新一个状态变量: javascriptlet isInFullscreen =

vue同页面多路由懒加载-及可能存在问题的解决方式

先上图,再解释 图一是多路由页面,图二是路由文件。从图一可以看出每个router-view对应的name都不一样。从图二可以看出层路由对应的组件加载方式要跟图一中的name相对应,并且图二的路由层在跟图一对应的页面中要加上components层,多一个s结尾,里面的的方法名就是图一路由的name值,里面还可以照样用懒加载的方式。 页面上其他的路由在路由文件中也跟图二是一样的写法。 附送可能存在

vue+elementui分页输入框回车与页面中@keyup.enter事件冲突解决

解决这个问题的思路只要判断事件源是哪个就好。el分页的回车触发事件是在按下时,抬起并不会再触发。而keyup.enter事件是在抬起时触发。 so,找不到分页的回车事件那就拿keyup.enter事件搞事情。只要判断这个抬起事件的$event中的锚点样式判断不等于分页特有的样式就可以了 @keyup.enter="allKeyup($event)" //页面上的//js中allKeyup(e

vue子路由回退后刷新页面方式

最近碰到一个小问题,页面中含有 <transition name="router-slid" mode="out-in"><router-view></router-view></transition> 作为子页面加载显示的地方。但是一般正常子路由通过 this.$router.go(-1) 返回到上一层原先的页面中。通过路由历史返回方式原本父页面想更新数据在created 跟mounted

时间服务器中,适用于国内的 NTP 服务器地址,可用于时间同步或 Android 加速 GPS 定位

NTP 是什么?   NTP 是网络时间协议(Network Time Protocol),它用来同步网络设备【如计算机、手机】的时间的协议。 NTP 实现什么目的?   目的很简单,就是为了提供准确时间。因为我们的手表、设备等,经常会时间跑着跑着就有误差,或快或慢的少几秒,时间长了甚至误差过分钟。 NTP 服务器列表 最常见、熟知的就是 www.pool.ntp.org/zo

Steam邮件推送内容有哪些?配置教程详解!

Steam邮件推送功能是否安全?如何个性化邮件推送内容? Steam作为全球最大的数字游戏分发平台之一,不仅提供了海量的游戏资源,还通过邮件推送为用户提供最新的游戏信息、促销活动和个性化推荐。AokSend将详细介绍Steam邮件推送的主要内容。 Steam邮件推送:促销优惠 每当平台举办大型促销活动,如夏季促销、冬季促销、黑色星期五等,用户都会收到邮件通知。这些邮件详细列出了打折游戏、

风水研究会官网源码系统-可展示自己的领域内容-商品售卖等

一款用于展示风水行业,周易测算行业,玄学行业的系统,并支持售卖自己的商品。 整洁大气,非常漂亮,前端内容均可通过后台修改。 大致功能: 支持前端内容通过后端自定义支持开启关闭会员功能,会员等级设置支持对接官方支付支持添加商品类支持添加虚拟下载类支持自定义其他类型字段支持生成虚拟激活卡支持采集其他站点文章支持对接收益广告支持文章评论支持积分功能支持推广功能更多功能,搭建完成自行体验吧! 原文

Sapphire开发日志 (十) 关于页面

关于页面 任务介绍 关于页面用户对我组工作量的展示。 实现效果 代码解释 首先封装一个子组件用于展示用户头像和名称。 const UserGrid = ({src,name,size,link,}: {src: any;name: any;size?: any;link?: any;}) => (<Box sx={{ display: "flex", flexDirecti

HTML(20)——定位

定位 作用:灵活的改变盒子在网页中的位置 实现: 定位模式:position边偏移:设置盒子的位置 leftrighttopbottom 相对定位 position:relative 改变位置的参照物是自己原来的位置,并且不脱标占位,标签显示模式特点不变 绝对定位 position:absolute 使用场景:子级绝对定位,父级相对定位  脱标不占位参照物:先找最近的已经