답변 3개
님을 위해서 10분간 만들었어요. 적당한곳 하단에 넣어보세요.
<style>
#wrapper.aside_fixed #aside{
position:fixed;
display: block;
z-index:9999;
top:0;
height: 100%;
overflow-y: scroll;
}
#wrapper.aside_fixed #aside.reach-end{
position: absolute!important;
bottom: 0!important;
top: auto!important;
height: 100vh;
}
#wrapper.aside_fixed #container{
margin-left:235px;
}
</style>
<script>
$(document).ready(function () {
var $container = $("#container");
var $wrapper = $("#wrapper");
var $aside = $("#aside");
var container_top = $container.offset().top;
var $wrapper_bottom = $wrapper.offset().top+$wrapper.outerHeight();
(check_reach_end = function () {
var scroll_top = $(window).scrollTop();
var sticky_limit_top = $wrapper_bottom-$aside.outerHeight();
if(scroll_top>sticky_limit_top){
$aside.addClass('reach-end')
}else{
$aside.removeClass('reach-end')
}
if(scroll_top > container_top){
$wrapper.addClass('aside_fixed')
return false;
}
if(scroll_top < container_top){
$wrapper.removeClass('aside_fixed')
return false;
}
})();
$(window).scroll(function () {
check_reach_end();
});
})
</script>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.


중간까지 스크롤시에도 왼쪽 aside가 상단에 잘 붙어있습니다.
그러다가 갑자기 왼쪽 aside가 밑으로 내려오고...
그뒤에는 스크롤 시 페이지와 같이 딸려갑니다.

답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
top : 0을 주면 위에 붙어있긴 할텐데 스크롤 안했을때도 위에 붙어버리니 제이쿼리로 해보시죠.
<script>
$(document).ready(function() {
var menu_offset = $('#aside').offset();
$(window).scroll(function() {
if ($(document).scrollTop() > menu_offset.top) {
$('#aside').css({
"position": "fixed",
"display": "block",
"z-index" : "9999",
"top":"0px"
});
}else {
$('#aside').css({
"display": "block",
"position":"relative",
"z-index" : "9999"
});
}
});
});
</script>
이걸 추가해보세요.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
일단 먼저 추천드립니다.
아래 그림처럼 스크롤 하다가 갑자기 점프 하듯이
왼쪽 aside 영역이 하단으로 내려가네요