js实现页面刷新滚动条位置不变

所属分类: 网络编程 / JavaScript 阅读数: 673
收藏 0 赞 0 分享

今天因为这个问题困扰了很久网上的例子都尝试没效果,后来发现一点原来是内容最外层没有div的原因

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SpotChkDetail.aspx.cs" Inherits="Topevery.DUM.Web.Observer.SpotChkDetail" %>
<script runat="server">
  protected override bool HeaderScriptFilter(Topevery.Framework.Web.Configuration.Script val)
  {
    switch (val.Key)
    {
      case "ajaxpro2.prototype":
      case "ajaxpro2.core":
      case "ajaxpro2.converter":
      case "ajaxpro2.onloading":
      case "ajaxpro2.assembly.AjaxFunction":
      case "my97":
      case "image":
      case "jquery.pagination":
      case "jquery.jqGrid.locale":
      case "jquery.jqGrid":
      case "jquery-load-image":
      case "jquery.validationEngine":
      case "jquery.validationEngine-zh":
      case "WeiBo":
      case "jquery.mousewheel":
      case "jquery.iviewer":
      case "jquery.gallery.singer":
        return true;
      default:
        return base.HeaderScriptFilter(val);
    }
  }
  protected override bool HeaderStyleFilter(Topevery.Framework.Web.Configuration.Style val)
  {
    switch (val.Key)
    {
      case "jqgrid":
      case "jqgrid-grey":
      case "validationEngine":
        return true;
      default:
        return base.HeaderStyleFilter(val);
    }
  }
</script>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title></title>
</head>
<body id="bbdy">
  <form id="form1" runat="server">
    <div>
    <div class="TUI-layout-north">
      <div class="TUI-title">
        <span class="TUI-ico ico-note"></span><strong>抽查</strong>
      </div>
      <div class="" style="float: right; margin-top: -30px; z-index: 99999; position: relative;">
        <object id="WebBrowser" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height="0" width="0">
        </object>
        <input type="button" class="TUI-button" value="打 印" onclick="document.all.WebBrowser.ExecWB(6, 1)" id="Button2" />
        <input type="button" class="TUI-button" value="打印预览" onclick="document.all.WebBrowser.ExecWB(7, 1)" />
      </div>
      <div class="TUI-alert">
        <span class="ml10px">抽查时间:<asp:Label ID="lbBeginDate" runat="server" Text="Label"></asp:Label>&nbsp;&nbsp;
          失效时间:<asp:Label ID="lbEndDate" runat="server" Text="Label"></asp:Label>&nbsp;&nbsp;
          消息内容:<asp:Label ID="lbContent" runat="server" Text="Label"></asp:Label></span>
        <div style="display: none">
                <asp:Button ID="btnRef" runat="server" OnClick="btnRef_Click" Text="刷新" />
              </div>
      </div>
    </div>
    <div class="TUI-layout-center">
      <div class="TUI-content TUI-h100 TUI-of-auto TUI-align-center">
        <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
          <%--OnItemCommand="Repeater1_ItemCommand"--%>
          <HeaderTemplate>
            <table class="TUI-grid-list w100" id="observers">
              <tr>
                <th style="width: 150px">巡查员头像
                </th>
                <th style="width: 80px">姓 名
                </th>
                <th style="width: 120px">是否超时
                </th>
                <%--<th style="width: 110px">城管通号码
                </th>
                <th style="width: 110px">城管通版本
                </th>--%>
                <th style="width: 100px">消息状态
                </th>
                <th style="width: 100px">审核状态
                </th>
                <th style="width:150px">审核
                </th>
              </tr>
          </HeaderTemplate>
          <ItemTemplate>
            <tr class="people_title_td">
              <td rowspan="2" valign="middle" style="width: 110px">
                <img id="img_observer_poto" runat="server" height="135" style="border: 1px solid #bababa;" width="100" />
              </td>
              <td style="width: 60px">
                <%# Eval("c_name")%>&nbsp;
                  <asp:HiddenField ID="hfObId" runat="server" Value='<%# Eval("c_ob_id") %>' />
                <asp:HiddenField ID="hfId" runat="server" Value='<%# Eval("c_id") %>' />
              </td>
              <td style="width: 100px">
                <%# Eval("c_is_over_time")%>&nbsp;
              </td>
              <%--<td style="width: 110px">
                <%# Eval("c_pda_number")%>&nbsp;
              </td>
              <td style="width: 110px">
                <%# Eval("c_pda_version")%>&nbsp;
              </td>--%>
              <td style="width: 90px">
                <%# Eval("notify_state")%>&nbsp;
              </td>
              <td style="width: 90px">
                <%# Eval("eligible_state")%>&nbsp;
              </td>
              <td style="width:150px;">
                <div style="display:<%# Eval("c_is_eligible").ToString() !="0"?"none":"" %>">
                <%--<asp:LinkButton ID="LinkButton1" runat="server" CommandName="lnk_poto" CommandArgument='<%# Eval("c_id") %>'>重摄</asp:LinkButton>
                <asp:LinkButton ID="LinkButton2" runat="server" CommandName="lnk_ok" CommandArgument='<%# Eval("c_id") %>'>合格</asp:LinkButton>
                <asp:LinkButton ID="LinkButton3" runat="server" CommandName="lnk_no" CommandArgument='<%# Eval("c_id") %>'>不合格</asp:LinkButton>--%>               
                <a href='#' onclick='review(<%# Eval("c_id") %>,0,"重摄")' class='TUI-toolbar-btn'><span></span>重摄</a>
                <a href='#' id="qualified" onclick='review(<%# Eval("c_id") %>,1,"合格")' class='TUI-toolbar-btn'><span></span>合格</a>
                <a href='#' id="Unqualified" onclick='review(<%# Eval("c_id") %>,2,"不合格")' class='TUI-toolbar-btn'><span></span>不合格</a>
                
                  </div>
              </td>
            </tr>
            <tr class="alt_tr2">
              <td colspan="5" style="height: 160px; text-align: left">
                <table class="choucha-table">
                  <tr>
                    <asp:Repeater ID="rptImg" runat="server">
                      <ItemTemplate>
                        <td>
                          <div class="div_img TUI-notelist-container TUI-gallery choucha-img">
                            <div id='imge'+'<%#Eval("FileId") %>'>
                                <div class="TUI-gallery-content TUI-gallery-img">
                                  <a title='点击放大' href="javascript:void(0)"
                                    sourceSrc='<%#Eval("Imageurl") %>' largeSrc='<%#Eval("Imageurl") %>'><img src='<%#Eval("Imagethumbil") %>' /><span><%#Eval("Summary") %></span></a>
                                </div>
                            </div>
                          </div>
                        </td>
                      </ItemTemplate>
                    </asp:Repeater>
                  </tr>
                </table>
              </td>
            </tr>
          </ItemTemplate>
          <FooterTemplate>
            </table>
          </FooterTemplate>
        </asp:Repeater>
        <input type="hidden" id="hdnvalue" runat="server" value="0" /><!----存放scorllTop值-->
      </div>
    </div>
    </div>
    <script type="text/javascript">
      $(document).ready(function () {
        TUILayout("form");
        //LoadImage();
        $(".div_img").gallery({
          gallerySize: { width: 90, height: 120 },
          fullView: "true" //ture为允许点击图像全屏浏览
        });

      });
      function LoadImage() {
        var jq_o_list = $("#observers div[@ref_id]");

        for (var i = 0 ; i < jq_o_list.length; i++) {
          load_to(jq_o_list[i]);
        }
      }

      function load_to(obj) {
        var jq_o = $(obj);
        Topevery.DUM.Web.AjaxFunction.GetEvtDefault(jq_o.attr("ref_id"), function (ajaxResult) {
          var val = ajaxResult.value;
          jq_o.empty();
          jq_o.append(val.Html);
        });
      }

      //$("#div_evt_img").gallery({
      //  images: evt_img_list,
      //  thumbSize: { width: 65, height: 60 },//缩略图大小
      //  gallerySize: { width: 380, height: 280 },//画廊图(中间大图)大小
      //  thumbDisplayNum: 4,//缩略图显示数量
      //  scalingSize: { width: 360, height: 260 },//画廊图(中间大图)自动比例缩放最大大小
      //  fullView: "true" //ture为允许点击图像全屏浏览
      //});

      function Reminder() {
        NotSelectEvt("已经再次发送消息通知巡查员!");
      }

      function review(id, type, content) {
        if (confirmL("确认" + content + "吗?", function () {
            Topevery.DUM.Web.AjaxFunction.ReviewImg(id, type);
            $("#btnRef").click();

        })) {
        }
      }
    </script>
    
  </form>
</body>
</html>
<script type="text/javascript">
  window.onbeforeunload = function () {
    var scrollPos;
    if (typeof window.pageYOffset != 'undefined') {
      scrollPos = window.pageYOffset;
    }
    else if (typeof document.compatMode != 'undefined' &&
      document.compatMode != 'BackCompat') {
      scrollPos = document.documentElement.scrollTop;
    }
    else if (typeof document.body != 'undefined') {
      scrollPos = document.body.scrollTop;
    }
    document.cookie = "scrollTop=" + scrollPos; //存储滚动条位置到cookies中
  }
  window.onload = function () {
    if (document.cookie.match(/scrollTop=([^;]+)(;|$)/) != null) {
      var arr = document.cookie.match(/scrollTop=([^;]+)(;|$)/); //cookies中不为空,则读取滚动条位置
      document.documentElement.scrollTop = parseInt(arr[1]);
      document.body.scrollTop = parseInt(arr[1]);
    }
  }
    </script>

以上就是本文的全部内容,希望对大家有所帮助,同时也希望多多支持脚本之家!

更多精彩内容其他人还在看

Angular使用Md5加密的解决方法

这篇文章主要介绍了Angular使用Md5加密的解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

详解JS构造函数中this和return

本文通过实例代码给大家介绍了JS构造函数中this和return,需要的朋友参考下吧
收藏 0 赞 0 分享

ES6中Array.find()和findIndex()函数的用法详解

ES6为Array增加了find(),findIndex函数。find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined,而findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。下面通过实例详解,需要的朋友参考下吧
收藏 0 赞 0 分享

JS闭包的几种常见形式实例详解

本文通过实例代码给大家详细介绍了js闭包的几种常见形式,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下
收藏 0 赞 0 分享

ES6中Array.copyWithin()函数的用法实例详解

ES6为Array增加了copyWithin函数,用于操作当前数组自身,用来把某些个位置的元素复制并覆盖到其他位置上去。下面重点给大家介绍ES6中Array.copyWithin()函数的用法,需要的朋友参考下
收藏 0 赞 0 分享

Javascript 严格模式use strict详解

严格模式:由ECMA-262规范定义的JavaScript标准,对javascrip的限制更强。这篇文章主要介绍了Javascript 严格模式use strict详解 ,需要的朋友可以参考下
收藏 0 赞 0 分享

引入JavaScript时alert弹出框显示中文乱码问题

今天在HTML中引入JavaScript文件运行时,alert弹出的提示框中文显示为乱码,怎么解决此问题呢?下面小编给大家带来了引入JavaScript时alert弹出框显示中文乱码问题的解决方法,一起看看吧
收藏 0 赞 0 分享

AngularJs 延时器、计时器实例代码

这篇文章主要介绍了AngularJs 延时器、计时器实例代码,需要的朋友可以参考下
收藏 0 赞 0 分享

JS分页的实现(同步与异步)

这篇文章主要介绍了JS分页的实现(同步与异步),需要的朋友可以参考下
收藏 0 赞 0 分享

Angularjs自定义指令实现分页插件(DEMO)

由于最近的一个项目使用的是angularjs1.0的版本,涉及到分页查询数据的功能,后来自己就用自定义指令实现了该功能,下面小编把实例demo分享到脚本之家平台,需要的朋友参考下
收藏 0 赞 0 分享
查看更多