2011-02-08 2 views

ответ

0

http://blogs.x2line.com/al/articles/156.aspx

<!doctype html> 
<html> 
<head> 
<title></title> 

<script language="javascript"> 
    // function saves scroll position 
    function fScroll(val) 
    { 
     var hidScroll = document.getElementById('hidScroll'); 
     hidScroll.value = val.scrollTop; 
    } 

    // function moves scroll position to saved value 
    function fScrollMove(what) 
    { 
     var hidScroll = document.getElementById('hidScroll'); 
     document.getElementById(what).scrollTop = hidScroll.value; 
    } 
</script> 
</head> 

<body onload="fScrollMove('div_scroll');" onunload="document.forms(0).submit()";> 

<form> 

<input type="text" id="hidScroll" name="a"><br> 
<div id="div_scroll" onscroll="fScroll(this);" style="overflow:auto;height:100px;width:100px;"> 

    .. VERY LONG TEXT GOES HERE 

</div> 
</form> 
</body> 
</html> 
+0

Я попытался настроить его пример, заполнив его губами, и он, похоже, не работает. Замечания на исходной странице тоже не слишком перспективны. Вы попробовали? – ostrgard

0

Может быть, это Java-код работает для вас

 function loadScroll() 
     { 
      var m = /[&?]qs\=(\d+)/.exec (document.location); 
      if (m != null) 
       myDiv.scrollTop = parseInt (m[1]); 
     } 

     function saveScroll() 
     { 
      var form = document.getElementById ("myForm"); 
      var sep = (form.action.indexOf ("?") == -1) ? "?" : "&"; 
      form.action += sep + "qs=" + myDiv.scrollTop; 
     } 

Теперь вы можете посмотреть на событие «отправить», чтобы сохранить позицию в «действия» атрибут:

 document.getElementById ("myForm").addEventListener ("submit", saveScroll, false); 

И в вашем теге BODY ...

<body onload="loadScroll();"> 
    .... 
</body> 

Я не могу проверить код прямо сейчас, но я думаю, что вы поняли эту идею.

Смежные вопросы