我设了一个<div>overflow属性为scroll,也就是div里面放很多东西,然用滚动条来拉着查看他们。我想问的是:例如我把滚动条拉到中间位子,然后点了个按钮提交,滚动条又跳到最上面去了。有没有办法提交刷新后那个滚动条还是在原来位置。我把这个div放到ajax的updatepanel里面还是没用。请问有没有什么办法?

解决方案 »

  1.   

    当然可以,提交数据的时候用ajax提交不就行了
      

  2.   

    好像不行 javascript或许可以 但是比较麻烦
      

  3.   

    <table width="100">
    <tr>
    <td>
    <asp:textbox id="textbox1" style="Display:none" Width="300" Height="20" Runat="server"></asp:textbox>
    <input type=hidden id="divhg">
    <div id="div1" style="OVERFLOW: scroll; HEIGHT: 100px" onscroll="divscroll();"><p>sdfsdfsdfsd</p>
    <p>sdfsdfsdfsdfsdf</p>
    <p>sdfsdfsdfsdfsdffsd</p>
    </div>
    <script language="javascript">
    var divH=0;
    function divscroll()
    {
    divH=div1.scrollTop;
    document.all("textbox1").value=divH;

    }
    function divHeight()
    {
    if(document.all("textbox1").value!="")
    {
    divH=parseInt(document.all("textbox1").value);

    }
    else
    {
    divH=0;
    }
    div1.scrollTop=divH;
    document.all("textbox1").value=divH;
    }
    </script>
    </td>
    </tr>
    </table>
      

  4.   

    提交前记录div的div1.scrollTop,提交后再把div1.scrollTop设置为先前记录的数值,简单的js代码楼上给了
      

  5.   

    终于搞定了。感谢大家。攒点人品,提供代码让后来人参考下:
    saveDivPos.htc
    <PUBLIC:ATTACH EVENT=ondocumentready ONEVENT="elementLoad()" />
    <script language="javascript">
        function elementLoad() { 
            element.scrollTop = element.document.all['saveScrollPos'].value; 
            element.attachEvent("onscroll", saveScroll); 
        }  
        function saveScroll() { 
            element.document.all['saveScrollPos'].value =  event.srcElement.scrollTop; 
        } 
    </script> htm页中
    <div style="BEHAVIOR: url(saveDivPos.htc); overflow: auto; WIDTH: 50%; HEIGHT: 100px" >fdfsdf<br />fsdfsd<br />fdsfsdf<br />fdfsd<br />fdsfds<br /><br />
            <input id="saveScrollPos" type="hidden" runat="server" NAME="saveScrollPos" />
            </div>