Как узнать длину самого скроллбара?
Вложений: 1
Привет всем.
Собственно вопрос в заголовке. Уточню, мне необходимо узнать ширину самого ползунка, а не его прокручиваемой области. Помогите, плз. Можно jquery, кому как удобно. HTML-код: <div style="width:200px; overflow-x:scroll; white-space:nowrap;"> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!!!!!!!!!!!! </div><br /> <input type="button" value="Длина скроллбара" /> |
<div style="width:200px; overflow-x:scroll; white-space:nowrap;"> <div> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!!!!!!!!!!!! </div> </div> И вам необходимо всего лишь узнать ширину блока который внутри. |
Skipp, offsetWidth дочернего дива выводит 200.
|
var div = document.getElementById('myDiv');
alert( div.scrollWidth - parseFloat(div.style.width) );
|
lammeR,
длину ползунка можно узнать у разработчиков браузеров а вот толщину вычислить можно ...
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>datepicker demo</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
</head>
<body>
<div style="width:200px; overflow-x:scroll; white-space:nowrap; border: #FF0000 1px solid" id="test">
<div style=" border: #0000FF 1px solid">
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!!!!!!!!!!!!
</div>
</div><br />
<input type="button" value="Длина скроллбара" />
<script>
alert($('#test').height()-$('#test div').outerHeight());
</script>
</body>
</html>
|
Сие есть печалька.... . Тогда поменяю вопрос: как, не зная ширины скроллбара, можно выставить его строго по центру без использования мыши? Интересует теория, а не реализация.
|
Цитата:
|
Цитата:
Цитата:
<!DOCTYPE html>
<div style="width:200px; overflow-x:scroll; white-space:nowrap; border: #FF0000 1px solid" id="test">
<div style=" border: #0000FF 1px solid">
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!!!!!!!!!!!!
</div>
</div>
<script>
var outer = document.querySelector('div');
outer.scrollLeft = (outer.scrollWidth - outer.offsetWidth) / 2;
</script>
|
danik.js, и действительно, я чего-то отделил скроллбар от содержимого при постановке вопроса. Спасибо.
|
| Часовой пояс GMT +3, время: 05:48. |