마우스 스크롤할 때 aside가 따라서 움직이게 하고 싶습니다.
본문
그누보드 5.3.1.2 를 사용하고 있습니다.
기본 베이직 테마의 오른쪽 aside 부분을 마우스 스크롤 할 때 같이 따라서 움직이게 하고 싶어서 작업 중입니다.
스크립트는 아래를 추가 하였고
<script>
$(window).scroll(function(){
var sticky = $('#aside'),
scroll = $(window).scrollTop();
if (scroll >= 170) sticky.addClass('fixed');
else sticky.removeClass('fixed');
});
</script>
fixed 라는 css 속성은 아래와 같이 추가 했습니다.
.fixed {position: fixed; top:0; z-index:90; float: right; height:500px;}
위처럼 추가하고 마우스 스크롤 하면 우측 aside 부분이 왼쪽으로 이동되어 스크롤 됩니다.
aside가 위치변경없이 스크롤 되게 하려면 어떻게 css를 수정해야 할까요?
!-->!-->
답변 2
.fixed {position: fixed; top:0; z-index:90; float: right; height:500px;}
에서 left 옵션을 넣어 원하는 위치에 잡으시면됩니다.
.fixed {position: fixed; top:0; left:1200; z-index:90; float: right; height:500px;}
이런식으로요 숫자 변경하시면서 위치 잡으세요.
정확한거는 사실 <div id="container"> 위치와 width를 계산해서 바로 옆에 붙이는게
좋겠으나 5.3버전에서는 위에 정도 해주셔도 큰 문제는 없을 듯 하네요.
전 우선 이렇게 해서 해결했습니다.
밑에 875를 적절하게 수정해보세요.
2018-05-09 21시 18분에 수정해서 올렸습니다.
화면창이 변경될때도 자리잡게 코드 추가 했습니다.
<style>
.fixed {position: fixed; left:875px; top:0; z-index:90; float: right; height:500px;}
</style>
<script>
$(window).scroll(function(){
var sticky = $('#aside'),
scroll = $(window).scrollTop();
if (scroll >= 170){
sticky.addClass('fixed');
console.log("aaaaa : "+ $('#wrapper').width());
if($('#wrapper').width() > 1200){
var left = $('#wrapper').width() - 1200;
$(".fixed").css("left",(left/2)+875);
}else{
$(".fixed").css("left",875);
}
}
else
sticky.removeClass('fixed');
});
$(window).resize(function(){
if($('#wrapper').width() > 1200){
var left = $('#wrapper').width() - 1200;
$(".fixed").css("left",(left/2)+875);
}
}).resize();
</script>
답변을 작성하시기 전에 로그인 해주세요.