Здравствуйте!
Есть плагин jQuery-slimScroll
http://rocha.la/jQuery-slimScrollвопрос как сделать чтобы он привязывался к элементам которые создаются на js?
вот к примеру код, сейчас скролл привязывается ко всем элементам, которые изначально загружаются
[JS] $('.scrolls').each(function () {
var height;
if ($(this).attr("data-height")) {
height = $(this).attr("data-height");
} else {
height = $(this).css('height');
}
$(this).slimScroll({
allowPageScroll: true,
size: '7px',
start: 'bottom',
color: ($(this).attr("data-handle-color") ? $(this).attr("data-handle-color") : '#bbb'),
railColor: ($(this).attr("data-rail-color") ? $(this).attr("data-rail-color") : '#eaeaea'),
position: 'right',
height: height,
alwaysVisible: ($(this).attr("data-always-visible") == "1" ? true : false),
railVisible: ($(this).attr("data-rail-visible") == "1" ? true : false),
disableFadeOut: false
});
});[/JS]
если я создаю новый элемент через js, то у него скролл работать не будет
делаю немного иначе
[JS] $('.table').die("mouseover").live("mouseover",function () {
$('.scrolls').each(function () {
var height;
if ($(this).attr("data-height")) {
height = $(this).attr("data-height");
} else {
height = $(this).css('height');
}
$(this).slimScroll({
allowPageScroll: true,
size: '7px',
start: 'bottom',
color: ($(this).attr("data-handle-color") ? $(this).attr("data-handle-color") : '#bbb'),
railColor: ($(this).attr("data-rail-color") ? $(this).attr("data-rail-color") : '#eaeaea'),
position: 'right',
height: height,
alwaysVisible: ($(this).attr("data-always-visible") == "1" ? true : false),
railVisible: ($(this).attr("data-rail-visible") == "1" ? true : false),
disableFadeOut: false
});
});
});[/JS]
теперь при создании нового элемента, по наведению, скролл привязывается
получается теперь можно создать новые элементы и все будет работать
но есть косяк, если создать новый элемент, навести на его область, произойдет привязка скролла,
а после этого создать еще один новый элемент или несколько, то вот на них уже скролл не работает
просто покажет что скролл есть, но сама прокрутка не будет работать
вот для наглядности
<div class="table">
<div class="srolls">существующий элемент, тут как бы все норм</div>
</div>
теперь создаем еще один
<div class="table">//если наводим сюда, то скролл привязывается и все работает
<div class="srolls">новый элемент</div>
</div>
тперь создаем еще один
<div class="table">//и теперь не работает скролл,
но если мы в предыдущем элементе не сделали наведение на table
то будет работать
<div class="srolls">новый элемент</div>
</div>
Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
|