固定高さとオーバーフローを持つコンテナに子要素を追加します:scroll。最初の子の前に要素が追加されていても内部がシフトしないようにしたい(無限スクロールのように)。無限スクロール:ページがシフトしないようにscrollTop()を設定します。
scrollTopを設定しようとしていますが、効果がありません。
$("#button").on("click", function(){
var height = $("#parent_insides").height();
var scroll_y = $("#parent_insides").offset().top;
$("#parent_insides").prepend($("#childpre"));
var new_height = $("#parent_insides").height();
var new_scroll_y = scroll_y - (new_height - height);
$("#parent_insides").scrollTop(new_scroll_y);
})
#parent{
height:200px;
overflow:scroll;
}
.child1{
height:300px;
background:red;
}
#childpre{
height:300px;
background:blue;
}
#button{
width:200px;
background:yellow;
height:40px;
line-height:40px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id = "parent">
<div id = "parent_insides">
<div class = "child1">
hello
</div>
</div>
</div>
<div id = "button"> Add element above
</div>
<div id = "childpre">
hello
</div>
正直なところ、私は正直に分かりませんが、これは正しいと思われます。オフセットとスクロールは、おそらく私にとってjavascriptで最も直感的ではありません。ちなみに、私のリストはカレンダーなので、前置詞が必要です。常に前に何かがあります。 – user984003