X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> как привязать scroll к элементу?
Wins
Wins
Topic Starter сообщение 4.3.2015, 12:44; Ответить: Wins
Сообщение #1


Здравствуйте!

Есть плагин 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+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Как вы отдыхаете от работы за компом
151 adw-kupon.ru 19823 Вчера, 13:52
автор: Vmir
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
20 uahomka 3450 Вчера, 11:54
автор: Skyworker
Открытая тема (нет новых ответов) Как в пушсетках покупают по 100-200 тысяч кликов за день?
1 Boymaster 521 Вчера, 11:45
автор: Skyworker
Горячая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
30 freeax 5017 20.4.2024, 16:49
автор: Liudmila
Открытая тема (нет новых ответов) Арбитражники, как ведете учет расходов и доходов?
13 Boymaster 2022 20.4.2024, 15:06
автор: Boymaster


 



RSS Текстовая версия Сейчас: 24.4.2024, 6:00
Дизайн