当包裹在另一个div中时,Div滚动到顶部

时间:2016-09-29 15:01:17

标签: javascript jquery html

我有一个可滚动的div。向下滚动然后将div包装到另一个div中会导致滚动位置重置为顶部。关于如何保留滚动位置的任何想法?

HTML:

<div class="box"><p>Lorem ipsum...</p></div>
<button onclick="wrapme()">wrap me!</button>

JS:

function wrapme(){
    $(document.body).wrapInner($("<div>", { class: "wrapper" }));
}

CSS:

.box {
    width: 400px;
    height: 200px;
    overflow: auto;
    border: 1px solid #000;
}

.wrapper {
    border: 1px solid blue;
}

JSFiddle:https://jsfiddle.net/gyd3r70k/5/

1 个答案:

答案 0 :(得分:0)

您必须监控并保存文字&#34; scrollTop&#34;。
试试这个:http://codepen.io/g1un/pen/rrzAVk?editors=1111

function wrapme(){
  var top = $('.box').scrollTop();
    $(document.body).wrapInner($("<div>", { class: "wrapper" }));
  $('.box').scrollTop(top);
}