我正在向具有固定高度和溢出的容器添加一個子元素:滾動。即使元素在第一個子元素之前添加,我也希望內部不要移位(如無限滾動)。無限滾動:設置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