2016-07-30 1 views
0

스크롤바를 아래로 만들고 실제로 작동시키는 방법을 찾았지만 원래의 스크롤 막대를 숨기고 그림에 스크롤 막대 만 표시하는 방법을 모르지만 여전히 새롭다.스크롤바 사용자 정의

enter image description here

HTML : -

<div class="parent"> 
      <div class="scrollbar"></div> 
      <div class="scrollable"> 
       <p>Lorem ipsum dolor sit amet, 
       consectetur adipiscing elit. Cras non nunc eget sapien molestie mollis. 
       Proin vestibulum vehicula varius. Duis a nunc ac risus facilisis consectetur.</p> 
      </div> 
    </div> 

CSS : -

.parent{ 
    position:relative; 
     margin:50px; 
     overflow:hidden; 
    height:200px; 
    width:180px; 
    background:#ddd; 
} 
.scrollable{ 
     overflow-y:scroll; 
    position:absolute; 
     padding:0 17px 0 0; 
    width: 180px; 
     height:100%; 
} 
.scrollbar{ 

    position:absolute; 
    overflow:auto; 
    top:0px; 
    right:0px; 
    z-index:2; 
    background:#444; 
    width:7px; 
    border-radius:5px; 
} 

자바 스크립트 : -

,
var $scrollable = $('.scrollable'); 
    var $scrollbar = $('.scrollbar'); 
    $scrollable.outerHeight(true); 
    var H = $scrollable.outerHeight(true); 
    var sH = $scrollable[0].scrollHeight; 
    var sbH = H*H/sH; 



$('.scrollbar').height(sbH); 

$scrollable.on("scroll", function(){ 

    $scrollbar.css({top: $scrollable.scrollTop()/H*sbH }); 
}); 
+0

당신이 사용하는 어떤 브라우저? 크롬에서는 원래의 스크롤바가 숨겨져 있습니다! –

+0

크롬을 사용하고 있습니다 – pexichdu

+0

'.scrollable' CSS에'width : 100 %;'를 추가하십시오 –

답변

0

올바르게 작동합니다. 무엇이 문제인가. 당신이 링크를 두 개의 파일을 다음이 있는지 확인하고 컴퓨터가 인터넷에 연결과 연결되어

//code.jquery.com/jquery-1.11.0.min.js "

//code.jquery.com /ui/1.11.0/jquery-ui.min.js "

var $scrollable = $('.scrollable'), 
 
    $scrollbar = $('.scrollbar'), 
 
    H = $scrollable.outerHeight(true), 
 
    sH = $scrollable[0].scrollHeight, 
 
    sbH = H*H/sH; 
 

 
$('.scrollbar').height(sbH).draggable({ 
 
    axis : 'y', 
 
\t containment : 'parent', 
 
\t drag: function(e, ui) { 
 
\t \t \t $scrollable.scrollTop(sH/H*ui.position.top ); 
 
    } 
 
}); 
 
    
 
$scrollable.on("scroll", function(){ 
 
\t $scrollbar.css({top: $scrollable.scrollTop()/H*sbH }); 
 
});
.parent{ 
 
    position:relative; 
 
\t margin:50px; 
 
\t overflow:hidden; 
 
    height:200px; 
 
    width:180px; 
 
    background:#ddd; 
 
} 
 
.scrollable{ 
 
\t overflow-y:scroll; 
 
    position:absolute; 
 
\t padding:0 17px 0 0; 
 
    width: 180px; 
 
\t height:100%; 
 
} 
 
.scrollbar{ 
 
    cursor:n-resize; 
 
    position:absolute; 
 
\t overflow:auto; 
 
    top:0px; 
 
    right:0px; 
 
    z-index:2; 
 
    background:#444; 
 
    width:17px; 
 
    border-radius:8px; 
 
}
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script> 
 
<script src="//code.jquery.com/ui/1.11.0/jquery-ui.min.js"></script> 
 

 

 
\t 
 
<div class="parent"> 
 
    <div class="scrollbar"></div> 
 
    <div class="scrollable"> 
 
     Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras non nunc eget sapien molestie mollis. Proin vestibulum vehicula varius. Duis a nunc ac risus facilisis consectetur. 
 
\t \t \t   Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras non nunc eget sapien molestie mollis. Proin vestibulum vehicula varius. Duis a nunc ac risus facilisis consectetur. 
 

 
    </div> 
 
</div>

관련 문제