Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: очень плавная прокрутка страницы js

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
DlTA
Отправлено: 04 Августа, 2013 - 18:21:35
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




делаю что то вроде читалки
открваеш нажимаешь и текст/страничка медленно скролится, а ты только читаешь

скорость скролинга задается и вопрос синхронизации читателя и скорость скролинга не рассматривается

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

читать тажело, может есть какие то хитрости?
 
 Top
EuGen Администратор
Отправлено: 04 Августа, 2013 - 18:24:47
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Sample
?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
DlTA
Отправлено: 04 Августа, 2013 - 18:32:49
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




не, этот пример скролит очень быстро,
у меня же проблема в том что скролить нужно не только медленно но и настолько плавно чтоб при этом это было читабельно.
 
 Top
EuGen Администратор
Отправлено: 04 Августа, 2013 - 18:40:22
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Так это не готовый код, а пример. Может, что-то подобное подойдёт: http://stackoverflow[dot]com/questio[dot][dot][dot]ooth-slow-scroll ?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
DlTA
Отправлено: 04 Августа, 2013 - 18:47:03
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




вот мой пример который я использую
CODE (javascript):
скопировать код в буфер обмена
  1. function setTop(block, top){
  2.         if(block==undefined)
  3.                 return;
  4.         if(block.style.top==undefined)
  5.                 return;
  6.         block.style.top=top;
  7. }
  8.  
  9. var soundPos; // переменная меняющаяся во времени и от которой зависит скрол
  10.  
  11. var scrolStep = 10;
  12. var scrolPos = 0;
  13. var textBlock = document.getElementById('text');
  14. var textStep = 973/2000;
  15.        
  16. var intScrol = setInterval(function(){
  17.         scrolPos = soundPos*textStep;
  18.         setTop(textBlock, -scrolPos );
  19. }, scrolStep);
  20.  

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

(Отредактировано автором: 04 Августа, 2013 - 18:50:48)

 
 Top
tuareg
Отправлено: 04 Августа, 2013 - 19:42:32
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




С разметкой и css выложи где-нибудь, например, http://jsfiddle[dot]net/ Проще будет смотреть.
 
 Top
nerv
Отправлено: 04 Августа, 2013 - 20:01:05
Post Id



Посетитель


Покинул форум
Сообщений всего: 407
Дата рег-ции: Февр. 2013  
Откуда: Россия


Помог: 9 раз(а)




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

анимировать Закатив глазки

http://javascript[dot]ru/blog/Andrej[dot][dot][dot]macii-JavaScript
http://learn.javascript.ru/js-animation

(Отредактировано автором: 04 Августа, 2013 - 20:05:14)



-----
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
 
 Top
DlTA
Отправлено: 04 Августа, 2013 - 20:05:30
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




http://jsfiddle[dot]net/MZQmS/1/
(Добавление)
nerv пишет:
анимировать
нет, именно в том чтобы ПЛАВНО
 
 Top
Panoptik
Отправлено: 04 Августа, 2013 - 20:09:58
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




я думаю это из за слишком большого количества элементов DOM
нужно оптимизировать код так чтобы эти ваши элементы после отработки сразу же удалялись или заиметь просто 2 контейнера. один из них с красным выделением а другой с текущими символами и по одному символу выдергивать из второго контейнера и добавлять в конец первого


-----
Just do it
 
 Top
DlTA
Отправлено: 04 Августа, 2013 - 20:17:35
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




Panoptik
уже пробывал, результат тотже
 
 Top
nerv
Отправлено: 04 Августа, 2013 - 20:17:55
Post Id



Посетитель


Покинул форум
Сообщений всего: 407
Дата рег-ции: Февр. 2013  
Откуда: Россия


Помог: 9 раз(а)




- использовать один таймер вместо двух (для начала)
- убрать спаны
- делать выделение так http://learn[dot]javascript[dot]ru/vydel[dot][dot][dot]ange-i-selection


-----
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
 
 Top
tuareg
Отправлено: 04 Августа, 2013 - 20:26:19
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Вот "наваял" http://jsfiddle[dot]net/tuareg/zrKqy/ .
P.s там стандартная ф-я jQuery animate Если не хочется использовать, можно исходники глянуть. Можно у javascript.ru посмотреть, там в учебнике есть примеры анимации.
 
 Top
Panoptik
Отправлено: 04 Августа, 2013 - 20:42:12
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




вот смержил труды tuareg и чуть добавил.
как по мне довольно вменяемо

http://jsfiddle.net/xHKsa/1/

(Отредактировано автором: 04 Августа, 2013 - 20:45:44)



-----
Just do it
 
 Top
IllusionMH
Отправлено: 05 Августа, 2013 - 01:45:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




DlTA, плавность можно достичь через CSS Transforms translateY. Советую вам копнуть в этом направлении.
 
 Top
DeepVarvar Супермодератор
Отправлено: 05 Августа, 2013 - 01:55:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




CODE (javascript):
скопировать код в буфер обмена
  1. var i = 0, scrollable = document.getElementById("scrollable");
  2. function scroll() {
  3.   setTimeout(function(){
  4.     i--;
  5.     scrollable.style.marginTop = i + "px";
  6.     scroll();
  7.   }, 120);
  8. }
  9. scroll();
?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB