Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 29.01.2024, 18:21
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,745

Сообщение от NastyaVs
Но как добиться того чтобы разделитель в тысячных числах был не через пробел:
Пробел или запятая или еще что зависит от настроек браузера, сайта или элемента.
Например можно задавать, через атрибут lang в самом html или в конкретном элементе. Брать значение этого атрибута и указывать.
Например
const form = new Intl.NumberFormat('en-En');
или
const form = new Intl.NumberFormat('ru');

https://jsfiddle.net/fa64prL0/

Я там для элемента, который на 1700 поставил lang="en-En"

Последний раз редактировалось voraa, 29.01.2024 в 18:46.
Ответить с цитированием
  #12 (permalink)  
Старый 29.01.2024, 19:05
Интересующийся
Отправить личное сообщение для NastyaVs Посмотреть профиль Найти все сообщения от NastyaVs
 
Регистрация: 28.01.2024
Сообщений: 28

Сообщение от voraa Посмотреть сообщение
Я там для элемента, который на 1700 поставил lang="en-En"
Теперь поняла. Спасибо Вам большое за уделенное время
Ответить с цитированием
  #13 (permalink)  
Старый 29.01.2024, 19:58
Интересующийся
Отправить личное сообщение для NastyaVs Посмотреть профиль Найти все сообщения от NastyaVs
 
Регистрация: 28.01.2024
Сообщений: 28

voraa,
К вашему варианту еще решила добавить такую процедуру чтобы счетчик срабатывал только тогда когда при скролле достигнет этого блока, но так понимаю он не сработает:

const check = new IntersectionObserver(
	(entries) => {
		entries.forEach((entry) => {
			if (entry.isIntersecting) {
				check.disconnect();
				counterNumbers();
			}
		});
	},
	{
		root: null, // viewport, для отслеживания в пределах другого элемента (указать в этом месте)
		rootMargin: "0px", // margin вокруг root
		threshold: 1, // пороговое значение для отображения (100% для элемента)
	}
);

check.observe(document.querySelector(".block__item_grid"));

Последний раз редактировалось NastyaVs, 29.01.2024 в 20:03.
Ответить с цитированием
  #14 (permalink)  
Старый 29.01.2024, 20:28
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,745

Что такое check.disconnect(); ?

А так может и сработает. Пробовать надо.
Сам не могу не имея полного кода с CSS.

Только надо понять, а что дальше. Ну сработал обсервер, начали циферки
тикать. А пользователь дальше мышью крутит туда-сюда. Когда элемент появится снова опять надо считать или хватит одного первого раза.
А если опять считать, когда еще предыдущий не закончился, то все равно начинать снова с 0, или дать закончиться предыдущему циклу.

Все эти вопросы надо продумывать.
Ответить с цитированием
  #15 (permalink)  
Старый 29.01.2024, 22:14
Интересующийся
Отправить личное сообщение для NastyaVs Посмотреть профиль Найти все сообщения от NastyaVs
 
Регистрация: 28.01.2024
Сообщений: 28

Сообщение от voraa Посмотреть сообщение
Что такое check.disconnect(); ?
voraa, Точно не скажу. Решение нашла.

if (entry.isIntersecting) {
	            // сработает когда элемент будет виден на 90%
	            observer.disconnect();
	            startProgress();


По моему в ней и крылась ошибка. Я ее исключила и вроде бы как заработало. Я пробовала, посмотрите, пожалуйста: https://codepen.io/NastyaVs/pen/vYPpvXP

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

Сообщение от voraa Посмотреть сообщение
Только надо понять, а что дальше. Ну сработал обсервер, начали циферки тикать. А пользователь дальше мышью крутит туда-сюда. Когда элемент появится снова опять надо считать или хватит одного первого раза.
voraa, Вроде бы в этом решении все реализовано.

Сообщение от voraa Посмотреть сообщение
А если опять считать, когда еще предыдущий не закончился, то все равно начинать снова с 0, или дать закончиться предыдущему циклу.
voraa, Решение делает просчет счетчика цифр, сначала когда при скролле пользователь возвращается в данному блоку

Последний раз редактировалось NastyaVs, 29.01.2024 в 22:36.
Ответить с цитированием
  #16 (permalink)  
Старый 29.01.2024, 23:12
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,745

Сообщение от NastyaVs
Решение делает просчет счетчика цифр, сначала когда при скролле пользователь возвращается в данному блоку
Если так и задумывалось, то вроде работает
Сообщение от NastyaVs
Только не очень корректно срабатывает у меня когда возврат к блоку происходит при скролле
А в чем некорректность?
Ответить с цитированием
  #17 (permalink)  
Старый 29.01.2024, 23:31
Интересующийся
Отправить личное сообщение для NastyaVs Посмотреть профиль Найти все сообщения от NastyaVs
 
Регистрация: 28.01.2024
Сообщений: 28

Сообщение от voraa Посмотреть сообщение
А в чем некорректность?
В принципе так и задумывалось. Но такое ощущение если возвращаться к блоку и скроллить очень медленно и когда только видишь краешек блока заметные старые значения. А если блок уже существенную часть видно уже на экране то отсчет идет сначала как и задумывалось.


Вот только мои Progress Bar ведут себя абсолютно безобразно при таком решении.

1. Первый Progress Bar - при первом обращении все корректно показывает. Но при возврате к нему обратно при скролле счетчик чисел считает бесконечно значения, а сам зеленый бар замкнулся и не все.

2. Второй Progress Bar - при первом обращении счетчик цифр отрабатывает очень быстро не успеваешь к нему даже дойти чтобы увидеть как пролистываются цифры. При этом зеленый бар при первом подходе отображается как надо. Но уже при повторном возврате ко всему Progress Bar он абсолютно не осуществляет повторно никаких действий. Можете посмотреть в чем ошибка:
https://codepen.io/NastyaVs/pen/qBvpgLb

Последний раз редактировалось NastyaVs, 29.01.2024 в 23:34.
Ответить с цитированием
  #18 (permalink)  
Старый 30.01.2024, 08:24
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,745

А вы сами эти коды пишете? Или надергиваете где то не думая?
Что у вас означает clearInterval();? (встречается 2 раза)
Какой именно таймер надо сбросить?

Почему 2 раза вызывается startProgress(); и еще один раз вызываются без счетчики без функции?

Я уже показывал, как делать анимацию с помощью requestAnimationFrame. А вы опять setInterval городите.
Хотите, что бы опять все кто то переделывал?

Последний раз редактировалось voraa, 30.01.2024 в 08:28.
Ответить с цитированием
  #19 (permalink)  
Старый 30.01.2024, 11:22
Интересующийся
Отправить личное сообщение для NastyaVs Посмотреть профиль Найти все сообщения от NastyaVs
 
Регистрация: 28.01.2024
Сообщений: 28

Сообщение от voraa Посмотреть сообщение
А вы сами эти коды пишете? Или надергиваете где то не думая?
Сама учусь, смотря материал на Youtube. Понимаю что очень много ошибок

Сообщение от voraa Посмотреть сообщение
Что у вас означает clearInterval();? (встречается 2 раза)
Какой именно таймер надо сбросить?
Пример реализации брала здесь https://www.youtube.com/watch?v=mSfsGTIQlxg&t=486s

Последний раз редактировалось NastyaVs, 30.01.2024 в 11:34.
Ответить с цитированием
  #20 (permalink)  
Старый 30.01.2024, 11:26
Интересующийся
Отправить личное сообщение для NastyaVs Посмотреть профиль Найти все сообщения от NastyaVs
 
Регистрация: 28.01.2024
Сообщений: 28

Сообщение от voraa Посмотреть сообщение
Почему 2 раза вызывается startProgress(); и еще один раз вызываются без счетчики без функции?
Подсмотрела на форуме. Подумала так и должно быть
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчет суммы чисел при отметке чекбоксов Garik Элементы интерфейса 11 27.07.2013 21:47
Создания счетчика при событие arhonik jQuery 4 17.03.2013 12:52
Изменение чисел при передаче в БД FoxTrix Серверные языки и технологии 9 05.03.2013 22:44
Ошибка при сложении двух чисел SER Events/DOM/Window 2 20.12.2012 08:35
Загрузка счетчика при редиректе Johny Общие вопросы Javascript 6 31.08.2010 20:19