|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
|||||||||||
Поможем! Динамическая ПОДСВЕТКА элементов МЕЖДУ двумя другими в контейнере24.01.2016, 20:56. Показов 2690. Ответов 10
Метки нет (Все метки)
Как динамически подсвечивать ВСЕ элементы от Первого кликнутого элемента до Второго кликнутого?
Есть контейнер с элементами 1) Клик по любому элементу -> он получает два класса: marked и start. marked - подсвечивает, start - указывает, что это первый граничный блок. 2) далее, как только курсор покидает элемент, начинается выделение ВСЕХ элементов вслед за курсором. Например, кликнули на 2-й элемент, навели на 6-й -> подсветятся все элементы между ними (a именно: 3,4,5) 3) второй клик (на конечном элементе) - также подсвечивает его и он получает класс end (второй граничный блок). 4) в итоге будет МОНОЛИТНАЯ полоса подсвеченных элементов между start и end элементами. Покороче: Клик на элементе -> динамическая подсветка ПРОМЕЖУТКА между начальным элементом и тем элементом, под которым находится курсор -> клик по конченому элементу приводит к, так сказать, закреплению цепочки выделения.
0
|
|||||||||||
| 24.01.2016, 20:56 | |
|
Ответы с готовыми решениями:
10
Находится ли дата между двумя другими датами Проверить, находится ли слово между двумя другими Вставить динамически созданный TableRow между двумя другими |
|
347 / 322 / 203
Регистрация: 27.06.2014
Сообщений: 762
|
||||||
| 24.01.2016, 22:04 | ||||||
|
хз вот можете вот можете мой скрипт попробовать то не то...
1
|
||||||
|
22 / 18 / 14
Регистрация: 07.01.2016
Сообщений: 70
|
|
| 24.01.2016, 22:12 | |
|
Teamur, я так понял, нужен рейтинг(типа звездочки). Делается это и без js, нужно просто пораскинуть мозгом. В html есть элементы, которые сохраняют свое состояние(checkbox, radio), а так же есть псевдокласс CSS который включает правила для элемента при наведении на него курсором(:hover). Вот пример https://jsfiddle.net/hma21mxm/
Не по теме: Нафига этот клич "Поможем!"? очень это неприятно, будто рекламное обращение к потреблянии.
1
|
|
|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
|
| 25.01.2016, 20:40 [ТС] | |
|
arcmag, близко, но всё-таки нет.
Нужно так: Если после певрвого клика переместить курсор на 2й элемент он должен закраситься, далее например двигаем к 6му -> закрашивается все что находится между элементом, который мы кликнули первый раз, и 6м должно закрасится. По сути подобное происходит при выделении текста курсором. Вы зажимаете мышь, отводите ее и что? Вы ВИДИТЕ процесс, вы видите как увеличивается область выделения, видите выделение текста (синий фон выделения движется за курсором). Отличие лишь в том, что вместо букв здесь блоки! Спасибо! Добавлено через 3 минуты smart-drone, я больше так ("Поможем ...") не буду, извиняюсь! ![]() Да, вы правы по сути те же звездочки. Добавлено через 7 минут smart-drone, посмотрел я пример, Вообще СУПЕР! Блин. Хотелось бы обойтись без чекбоксов, радиокнопок, лэйблов. Чисто работа с DIV. Неделю парюсь, не выходит! Думал как. Сначала получу номер элемента по клику. запишу в переменную, мол var = start Потом при наведении на другие элементы, получать их порядковые номера и прибавлять разницу. Но получилась зад..ца ( Добавлено через 9 минут Звездочки звездочками, но все должно работать также и СПРАВА НАЛЕВО! Поэтому всё-таки нужен скрипт. Добавлено через 19 часов 59 минут Какие еще будут предложения, господа. Добавлено через 2 часа 3 минуты Воооот, такие дела...
0
|
|
|
123 / 62 / 32
Регистрация: 10.01.2014
Сообщений: 241
|
|||||||||||
| 26.01.2016, 19:10 | |||||||||||
|
Teamur,
1
|
|||||||||||
|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
|
| 26.01.2016, 20:59 [ТС] | |
|
scio me nescire, вот это да! класс! ) А как теперь сделать, чтобы вне контейнера rate-elems выделенное сбрасывалось?
А так происходит разрыв цепочки: ![]() 1) клик на первом элементе 2) наводим на пятый 3) спускаем курсор вниз за контейнер (rate elems) 4) теперь подводим курсор снизу и поднимаем его на второй элемент 5) спускаем курсор вниз со второго элемента -> разрыв цепочки
0
|
|
|
123 / 62 / 32
Регистрация: 10.01.2014
Сообщений: 241
|
||||||
| 27.01.2016, 03:51 | ||||||
|
Teamur,
уверен, можно уложиться в строк 30, но у меня на часах 4 ночи, так что пофиг
1
|
||||||
|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
|
| 27.01.2016, 19:08 [ТС] | |
|
Да вы просто мастер, спасибо!
scio me nescire, спать всё-таки нужно! ) Восстанавливайтесь... Пожалуйста, если найдете в себе силы, попробуйте сократить код! Считаю что будет очень полезно сравнить исходный вариант и сокращенный. Понять засчет чего можно сократить и упростить код! Добавлено через 13 минут И последнее, что очень хотелось бы реализовать: Третий клик по элементу, когда цепочка уже выделена, сбрасывает её. И, следовательно, снова появляется возможность выделить интервал.
0
|
|
|
123 / 62 / 32
Регистрация: 10.01.2014
Сообщений: 241
|
||||||
| 27.01.2016, 19:41 | ||||||
|
Teamur,
1
|
||||||
|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
|
| 27.01.2016, 22:26 [ТС] | |
|
scio me nescire, всё замечательно! Получилось аж 22 строки с комментариями.
Вот смотрите. я выделил интервал. Потом делаю клик по любому элементу и тут же он должен стать черного цвета. Другими словами сразу же должно начаться новое выделение. Следовательно третий по счету клик создает новое выделение. Было бы просто замечательно. Спасибо! Добавлено через 21 минуту Без массивов - это конечно круто! )) Неожидал. Я предполагал, что будет работать по такой схеме: 1. По наведению на элемент контейнера, скрипт получает порядковый номер элемента в нем; 2. По клику - записывает его в переменную, например start=2 (где 2 - номер) и запускает Listener, реагирующий на наведение 3. По наведении на конечный элемент end, скрипт также получает его порядковый номер, например 7й 4. Затем счётчиком присваивает классы элементам от 2 до 7 Как-то так
0
|
|
|
29 / 29 / 5
Регистрация: 06.01.2015
Сообщений: 336
|
|
| 31.01.2016, 13:04 [ТС] | |
|
Как же сократить код товарища scio me nescire, https://jsfiddle.net/e5cbuoxf/7/
Плюс третий клик должен перезапускать функцию = начать новое выделение.
0
|
|
| 31.01.2016, 13:04 | |
|
Помогаю со студенческими работами здесь
11
Выбрать даты в StringGrid находящиеся между двумя другими датами Поместить блок между двумя другими, посредство только css
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|