Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (4) 1 2 [3] 4  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> jquery-плагин для стилизации прокрутки, оцените работу и код
Invis1ble  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11782
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 9 дней
Карма: 428

Трезвый :
7 лет, 3 месяца, 9 дней


bodja
это, конечно, круто. Я ж и не спорю :) Но это оффтоп.

Итак, мои 3 варианта отслеживания изменений в DOM:
1. Только ХАРДКОР!!1
setInterval(function () {
if (oldHeight != newHeight) {
// update
}
}
, 10);

Решение в лоб, эффективно на 146%, кроссбраузерно, просто и сердито.
Чем меньше интервал, тем более отзывчив интерфейс и больше нагрузка на браузер.

2. DOM level 2-3 mutation events
Элегантное решение, но далеко не кроссбраузерное. Не проверял, но пишут, что некоторые даже самые новые версии браузеров не поддерживают эти события или есть баги.

3. ХАРДКОР-2
Переопределяем все нативные методы браузера для работы с DOM на уровне прототипов, чтоб они извещали об изменениях в DOM'е.
Кроссбраузерно (по идее, не уверен), очень много кода (из-за различных реализаций javascript в разных браузерах). Предположительная эффективность - 100%


Any ideas ?


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
bodja  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1483
Пользователь №: 28208
На форуме: 5 лет, 5 месяцев, 27 дней
Карма: 61




Invis1ble
Мое предложение
onreadystatechange в аяксе,есть еще window.event.
Думаю просто эмулировать события которого еще нет ,не самое лучшее решение.
Пускай инициирует действие тот обьект в котором и происходят действия, так в целом и принято.
Ведь то что ты хочеш решить - это простейшее, попробуй сделать даже малюсенькую игрушку с динамикой и отбросиш много вопросов.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11782
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 9 дней
Карма: 428

Трезвый :
7 лет, 3 месяца, 9 дней


bodja
Цитата
Пускай инициирует действие тот обьект в котором и происходят действия

пока это самый оптимальный вариант с точки зрения работоспособности + быстродействия
Цитата
так в целом и принято

это не повод искать более элегантные решения, прогресс не стоит на месте


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
bodja  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1483
Пользователь №: 28208
На форуме: 5 лет, 5 месяцев, 27 дней
Карма: 61




Invis1ble

Цитата
это не повод искать более элегантные решения, прогресс не стоит на месте


ООП- это уровень управления кодом , то есть если в функциональном программировании ты создаеш-меняеш переменные, то в ООП ты создаеш-меняеш код (и переменные тоже biggrin.gif ).
Только так можно строить программы любой сложности и гибкости очень маленьким количеством кода.
Плодить обьекты как бактерии в унитазе, изменять их, управлять ими,взаимодействовать между ними.
Скажи, ты много видел такого кода?
Думаеш я постоянно не ищу? sad.gif
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11782
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 9 дней
Карма: 428

Трезвый :
7 лет, 3 месяца, 9 дней


Цитата
Думаеш я постоянно не ищу?

я так не думаю, просто обозначил свою позицию по поводу "так в целом и принято"


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8733
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев
Карма: 591




Invis1ble
а как быть тачскринам? Мобильные девайсы нынче весьма популярны. Или это в планах для будущих версий?

PS вообще делать фейки для стандартных контролов не есть гуд, дизайн, дизайном, но функциональность и стабильность ИМХО важнее.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11782
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 9 дней
Карма: 428

Трезвый :
7 лет, 3 месяца, 9 дней


killer8080
Цитата
а как быть тачскринам? Мобильные девайсы нынче весьма популярны. Или это в планах для будущих версий?

да, в планах. У меня нет девайсов с тачскрином для тестов. Но насколько я знаю, они умеют преобразовывать mouseup, mousemove и mousedown в свои родные события.
Цитата
PS вообще делать фейки для стандартных контролов не есть гуд, дизайн, дизайном, но функциональность и стабильность ИМХО важнее.

согласен, но это я реализовывал заморочку заказчика. Он кстати вообще не упоминал про полосу прокрутки, а говорил ориентироваться только на колесо мыши, т.е. скроллбар вообще не нужно было выводить, это моя инициатива )


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8733
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев
Карма: 591




Цитата (Invis1ble @ 11.02.2013 - 15:18)
У меня нет девайсов с тачскрином для тестов.

вечером потестю, отпишусь smile.gif
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11782
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 9 дней
Карма: 428

Трезвый :
7 лет, 3 месяца, 9 дней


killer8080
было бы круто, спасибо


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8733
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев
Карма: 591




как обещал, протестировал код на планшете.
ОС Android 4.0.4
браузеры:

встроенный браузер
Mozilla/5.0 (Linux; U; Android 4.0.4; ru-ru; FreeTAB Build/RK2906) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30

Firefox
Mozilla/5.0 (Android; Tablet; rv:18.0) Gecko/18.0 Firefox/18.0

Opera mobile
Opera/9.80 (Android 4.0.4; Linux; Opera Tablet/ADR-1301071546) Presto/2.11.355 Version/12.10

Maxthon 2.6.9 (почемуто выдаёт юзер агент встроенного браузера)
Mozilla/5.0 (Linux; U; Android 4.0.4; ru-ru; FreeTAB Build/RK2906) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30

как и ожидалось, ни в одном из них скролл не работает. Нужно добавить кнопки на скролл бар, ну и реакция на клик по нему, то же будет уместной.
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11782
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 9 дней
Карма: 428

Трезвый :
7 лет, 3 месяца, 9 дней


killer8080
Спасибо за тесты. Как будет время свободное - добавлю поддержку тачскринов.
Насчет кнопок - в первую очередь, я думаю, проще будет добавить поддержку touchstart и пр. событий для d'n'd., т.к. не потребуется сильно рефакторить код.


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8733
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев
Карма: 591




Насчет drag'n'drop не уверен будет ли оно работать на тачах, насчет тач эвентов неплохая мысль smile.gif
Ещё было бы неплохо добавить поддержку клавиатуры, отсутствие привычной реакции на стрелки, PgUP PgDown Home End и т.п. не есть гуд.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11782
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 9 дней
Карма: 428

Трезвый :
7 лет, 3 месяца, 9 дней


Цитата
было бы неплохо добавить поддержку клавиатуры

такое тоже есть в планах smile.gif


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11782
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 9 дней
Карма: 428

Трезвый :
7 лет, 3 месяца, 9 дней


Цитата (killer8080 @ 11.02.2013 - 14:22)
а как быть тачскринам? Мобильные девайсы нынче весьма популярны. Или это в планах для будущих версий?

не прошло и 3 года smile.gif
добавил поддержку девайсов с тачскрином, просьба потестить, у кого есть возможность:
https://invis1ble.github.io/scrollbox ( http://bit.ly/1oglsk2 )

1) скролл с помощью непосредственного перетаскивания скроллбара
2) скролл с помощью свайпа и свайпа с ускорением (механика и анимация - закос под андроид)


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1355
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 4 дня
Карма: 77




Invis1ble
В Хроме же есть эмуляция мобильного девайса. F12 - Ctrl+Shift+M
И да, там не работает старая, и работает новая.

Есть мелкий баг "эмуляции скрола". Рассинхрон по высоте. При полной прокрутке курсор убегает вверх.

Это сообщение отредактировал Kusss - 28.03.2016 - 23:42
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (4) 1 2 [3] 4  Ответ в темуСоздание новой темыСоздание опроса