У меня есть жидкий div с относительным позиционированием. Внутри этого div у меня есть временная шкала, состоящая из нескольких меток, указывающих время. Когда появляется полоса прокрутки, мне нужно обновить положение временной шкалы. Но единственное событие, о котором я могу думать, это:
$(window).resize(function(event) {
...
});
и он не срабатывает. Он срабатывает, только если я нажимаю, например, f12 в хроме, чтобы открыть инструменты для разработки. Но если я получаю полосу прокрутки естественным образом (потому что много контента), я не могу понять, как поймать это событие
Я сделал jsfiddle, показывающий, как изменяется ширина тела и случайный div, когда появляется вертикальная полоса прокрутки. Это может помочь вам решить вашу проблему.
http://jsfiddle.net/kasperfish/GrZp4/3/
$(function() {
getinfo();
$('#togglescroll').click(function(){
$('#container').slideToggle( "fast" , function (){
getinfo();
});
});
});
function getinfo(){
$('#view').html('body width: '+$("body").width()+'</br>');
$('#view').append('red rectangle width: '+$("#view").width()+' (2px < body because of border 1px)</br>');
if ($("body").height()>$(window).height()) {
$('#view').append('vertical scrollbar: yes');
}else{
$('#view').append('vertical scrollbar: no');
}
}