Как узнать длину самого скроллбара?
Вложений: 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, время: 16:49. |