CSS 왼쪽에 DIV 세로 스크롤 막대를 넣을 수 있습니까? jscript는 어떻습니까?DIV 세로 스크롤 막대 왼쪽에
당신이 JQuery으로 원하는 어디서나 의사 스크롤이 플러그인을 추가 할 수 있습니다답변
: 나는 당신에게 완전히 네이티브 보이는 왼쪽 스크롤 막대를 제공하기 위해 jQuery 플러그인을 작성, JScrollPane
좋아요를, 그래서. 작동 방법
은 여기 :
콘텐츠 폭 (
content_width
)의 계산을 허용하도록 내부 창 안쪽div
주입한다. 그런 다음 이것을 사용하여 네이티브 스크롤 막대 너비를 계산할 수 있습니다 :scrollbar_width = parent_width - content_width - horizontal_padding
.두 개의 서로 다른
divs
을 내용 영역으로 채우십시오.하나의 목적은 "포즈"입니다. 스크롤 바에는 만 사용됩니다.입니다. 음수의 왼쪽 여백을 사용하면 플러그인이 왼쪽으로 당겨서 스크롤 막대 만 보입니다 (이 내용은 가장자리에 잘려져 있습니다.
div
).다른
div
은 실제로 보이는 스크롤링 내용을 저장하는 데 사용됩니다.
이제는 두 가지를 함께 묶을 차례입니다. 50ms마다 (
window.setInterval
)scrollTop
부터 "포스터"div
까지 오프셋이 표시되는 스크롤되는 내용div
에 적용됩니다. 따라서 왼쪽의 스크롤바를 사용하여 위 또는 아래로 스크롤하면 스크롤 오프셋이 표시되는 내용의div
에 다시 적용됩니다.
이 설명은 아마 짜증과 여기있다, 속히, 거기에 내가 설명하지 않았다 그것에 아주 조금 더 사실이지만 :
$.fn.leftScrollbar = function(){
var items = $(this);
$(function(){
items.each(function(){
var e = $(this);
var content = e.html();
var ie = !jQuery.support.boxModel;
var w = e[ie?'innerWidth':'width'](), h = e[ie?'innerHeight':'height']();
//calculate paddings
var pad = {};
$(['top', 'right', 'bottom', 'left']).each(function(i, side){
pad[side] = parseInt(e.css('padding-' + side).replace('px',''));
});
//detect scrollbar width
var xfill = $('<div>').css({margin:0, padding:0, height:'1px'});
e.append(xfill);
var contentWidth = xfill.width();
var scrollerWidth = e.innerWidth() - contentWidth - pad.left - pad.right;
e.html('').css({overflow:'hidden'});
e.css('padding', '0');
var poserHeight = h - pad.top - pad.bottom;
var poser = $('<div>')
.html('<div style="visibility:hidden">'+content+'</div>')
.css({
marginLeft: -w+scrollerWidth-(ie?0:pad.left*2),
overflow: 'auto'
})
.height(poserHeight+(ie?pad.top+pad.bottom:0))
.width(w);
var pane = $('<div>').html(content).css({
width: w-scrollerWidth-(ie?0:pad.right+pad.left),
height: h-(ie?0:pad.bottom+pad.top),
overflow: 'hidden',
marginTop: -poserHeight-pad.top*2,
marginLeft: scrollerWidth
});
$(['top', 'right', 'bottom', 'left']).each(function(i, side){
poser.css('padding-'+side, pad[side]);
pane.css('padding-'+side, pad[side]);
});
e.append(poser).append(pane);
var hRatio = (pane.innerHeight()+pad.bottom)/poser.innerHeight();
window.setInterval(function(){
pane.scrollTop(poser.scrollTop()*hRatio);
}, 50);
});
});
};
는 포함하면
$('#scrollme').leftScrollbar();
왼쪽 스크롤바를 적용 당신이 원하는 요소 (들)에 대한 CSS 선택기로 #scrollme
교체 : jQuery를하고 페이지에서이 플러그인은, 왼쪽 스크롤 막대를 적용 할 수 있습니다.
<div style="direction: rtl; height: 250px; overflow: scroll;">
<div style="direction: ltr; padding: 3px;">
Content goes here
</div>
</div>
하루에 데모를 올리거나 내 블로그를 만드는 중입니다. – brianreavis
대신 setInterval, DOMAttrModified (또는 IE의 onpropertychange 이벤트)에 대한 이벤트 리스너를 추가하십시오. – Peter
예제 링크가 작동하지 않습니다. –
똑똑하고 간단합니다. +1 –
굉장하지만 Safari에서 작동하지 않는 것 같습니다 (지금 Safari 5.1.7에서 테스트하고 오른쪽에 스크롤바가 있습니다). –
꽤 영리합니다. 내 구체적인 경우에는 효과가 없었지만 그럴듯 해 보였습니다. 나는 간단한 해결책을 좋아한다. –
- 1. div 세로 스크롤 막대 표시
- 2. 세로 스크롤 막대 문제
- 3. 플렉스 세로 스크롤 막대 문제
- 4. ie6에 불필요한 세로 스크롤 막대
- 5. 세로 스크롤 막대 효과에 관계없이 컨트롤의 위치
- 6. Datagridview 및 세로 스크롤 막대 C#
- 7. 동적 내용에 jQuery 세로 스크롤 막대 추가하기
- 8. Silverlight DataGrid 세로 스크롤 막대 문제
- 9. FIREFOX의 선택 상자에 대한 세로 스크롤 막대
- 10. AdvancedDataGrid 가로/세로 스크롤 막대 문제입니다. (Flex)
- 11. RichTextBox Visual Studio에서 세로 스크롤 막대 조작
- 12. showModalDialog 창 세로 스크롤 막대 자동 설정
- 13. HTML/CSS의 세로 막대
- 14. 스크롤 div 내 테이블 : 채우기 div, 불필요한 가로 스크롤 막대 방지
- 15. 스윙 JScrollPane - 세로 스크롤 막대를 왼쪽에 설정하는 방법?
- 16. 100 % div 내에서 가로 스크롤 막대 얻기
- 17. android의 스크롤 막대
- 18. 목록보기를 세로 방향으로 스크롤
- 19. IE7에서 스크롤 막대 (스크롤 DIV)를 변경할 수 있습니까
- 20. 스크롤 뷰의 세로 스크롤
- 21. WPF에서 스크롤 막대 스키닝
- 22. 가로 스크롤 막대
- 23. 세로 막대 자르기
- 24. Python의 세로 막대 그래프
- 25. 스크롤 막대 위치 계산
- 26. WinAPI 스크롤 막대 도움말
- 27. 점프 점이있는 세로 스크롤 막대 - setVerticalScroll 잠금 UI
- 28. div의 가로 스크롤 막대
- 29. 스크롤 막대 확인 여부 확인
- 30. Flash CS4의 스크롤 막대
(어쨌든 LTR 문서를 사용하는) 사람들 오른쪽에 스크롤바를 기대 :
(그리고 분명히,이 멋지게 저하는) – Quentin
@Quentin : Chrome은 항상 오른쪽에 세로 스크롤 막대를 표시합니다 . – CSharper