|
0 / 1 / 1
Регистрация: 27.02.2024
Сообщений: 114
|
||||||
Наблюдение: getBoundingClientRect иногда возвращает в свойствах нецелый long02.02.2025, 15:26. Показов 2889. Ответов 42
Приходится:
Больше года не трогал модуль кода, который занимался взаимной привязкой хинтов к кнопкам. Все и так работало. А тут, внезапно, перестало (firefox стал более новый 133.03 (64 bit)). Монитор: acer lcd monitor s 1191 HQL Исследовал, и обнаружил, что getBoundingClientRect() начал в своих свойствах возвращать дробные числа width, height. Да и top, left и right, иногда. И, похоже, типа long. И тут до меня дошло: поменялся монитор. У него очень нестандартное разрешение: 1366х768. Пришлось кое где вставить в код что-то подобное Math.round(rect.width) Добавлено через 15 минут Хочется услышать мнение монстров!
0
|
||||||
| 02.02.2025, 15:26 | |
|
Ответы с готовыми решениями:
42
Почему программа иногда возвращает не нулевой результат, а иногда нуль? Требуется написать функцию long long pow(long long a, unsigned int p), которая возводит число a в степень p В типе float иногда возвращает -0 |
|
1254 / 1170 / 179
Регистрация: 21.01.2024
Сообщений: 5,442
|
|
| 02.02.2025, 21:18 | |
|
0
|
|
|
0 / 1 / 1
Регистрация: 27.02.2024
Сообщений: 114
|
||||||
| 02.02.2025, 21:27 [ТС] | ||||||
Добавлено через 7 минут voraa, Что-то с местным интерфесом. Могу я маленький zip с тестовым примером кинуть как-то? Почтой, чтоли...
0
|
||||||
|
1254 / 1170 / 179
Регистрация: 21.01.2024
Сообщений: 5,442
|
||
| 02.02.2025, 21:31 | ||
|
В devtoolse можно посмотреть, куда именно уезжает ваш hint.
Когда вы делаете getBoundingClientRect, он дает координаты left и top относительно левого верхнего угла окна,не относительно документа или родителя. (Если сделать роллинг страницы, то координаты, left и top будут уже другие т.к. элемент сдвинется относительно окна. А когда вы указываете style.left и style.top вы указываете координаты относительно левого верхнего угла его родителя (если hint имеет position absolute или смещение от того места, где он должен бы был находиться, если position relative Добавлено через 59 секунд
0
|
||
|
0 / 1 / 1
Регистрация: 27.02.2024
Сообщений: 114
|
|
| 02.02.2025, 21:32 [ТС] | |
|
Вот rar
0
|
|
|
1254 / 1170 / 179
Регистрация: 21.01.2024
Сообщений: 5,442
|
|
| 02.02.2025, 21:34 | |
|
И чего там запускать и смотреть?
0
|
|
|
0 / 1 / 1
Регистрация: 27.02.2024
Сообщений: 114
|
|
| 02.02.2025, 21:40 [ТС] | |
|
Это, в общем-то, тестовый фрагмент. Запускать "TestNotepad 11.html"
0
|
|
|
1254 / 1170 / 179
Регистрация: 21.01.2024
Сообщений: 5,442
|
|
| 02.02.2025, 21:49 | |
|
Ну а чего смотреть то? Когда и где эти хинты должны появляться? Какая функция из какого файла их должна показывать?
Я как бы свой магический кристалл в полировку сдал. А без него - никак.
0
|
|
|
0 / 1 / 1
Регистрация: 27.02.2024
Сообщений: 114
|
||
| 02.02.2025, 22:00 [ТС] | ||
|
В принципе, он был полностью рабочим, пока не начались проблемы с хинтами...
Добавлено через 1 минуту И не надо критиковать найденный там алгоритм контекстного поиска - он еще сырой... Добавлено через 3 минуты voraa,
0
|
||
|
1254 / 1170 / 179
Регистрация: 21.01.2024
Сообщений: 5,442
|
||
| 02.02.2025, 23:29 | ||
|
Очень загадочная функция EventIsInside. Как я понял, она возвращает true, когда мышь приходит с какого то элемента внутри кнопки. Там span с картинкой. Вот когда с него снова на кнопку мышь приходит, тогда и true. Тогда и хинт появляется. Но у input нет внутреннего элемента. Эта функция возвращает false, когда мышь извне приходит на input, а больше событие mouseover и не возникает.
Переусложненный алгоритм. Проще использовать события mouseenter и mouseleave. Мышь пришла - мышь ушла. и все. А откуда пришла, куда ушла - не важно. Кстати, большой недостаток. Положения хинтов вычисляются один раз в самом начале. Если в процессе просмотра изменяется размер окна браузера - они съезжают. Вычислять надо каждый раз перед показом. Добавлено через 53 минуты https://www.seabreezecomputers.com/tips/find.htm Ну разумеется его стилизовали под себя и лишнее выкидывали
1
|
||
|
0 / 1 / 1
Регистрация: 27.02.2024
Сообщений: 114
|
|||||
| 03.02.2025, 08:24 [ТС] | |||||
|
voraa,
Добавлено через 2 минуты voraa,
Добавлено через 3 минуты В общем, проблема пока не решена. Никто и не предположил, как решить. Явно, что-то с шириной div. Но она вполне нормальная 333px. Что за... Добавлено через 6 минут voraa,
Моя задача проста: дома, для своих, выбрать нужную информацию и отправить на печать. ВСЁ! Добавлено через 9 минут voraa,
Т.е. страхуюсь от событий внутри кнопки. Ну, картинка внутри тоже может сгенерировать ''mouseover'...
0
|
|||||
|
1254 / 1170 / 179
Регистрация: 21.01.2024
Сообщений: 5,442
|
||||||||
| 03.02.2025, 08:35 | ||||||||
Сообщение было отмечено Inskipp как решение
РешениеВот ваша функция, которая показывает хинт
Когда наводится на button true возвращается, когда мышь переходит на кнопку с внутреннего span. А у input нет никакого внутреннего элемента. Вы же сами этот код придумали, неужели не понятно, как это работает? Добавлено через 2 минуты
1
|
||||||||
|
0 / 1 / 1
Регистрация: 27.02.2024
Сообщений: 114
|
||
| 03.02.2025, 08:39 [ТС] | ||
|
voraa,
0
|
||
|
1254 / 1170 / 179
Регистрация: 21.01.2024
Сообщений: 5,442
|
|
| 03.02.2025, 08:40 | |
Сообщение было отмечено Inskipp как решение
Решение
1
|
|
|
0 / 1 / 1
Регистрация: 27.02.2024
Сообщений: 114
|
||
| 03.02.2025, 08:53 [ТС] | ||
|
voraa,
0
|
||
|
1254 / 1170 / 179
Регистрация: 21.01.2024
Сообщений: 5,442
|
||
| 03.02.2025, 08:58 | ||
|
Вот, что получается, если менять размер окна браузера Ну, если и так сойдет, то другое дело.
1
|
||
|
0 / 1 / 1
Регистрация: 27.02.2024
Сообщений: 114
|
||
| 03.02.2025, 10:26 [ТС] | ||
|
Как все было просто в ассемблере... Есть событие - реагируй. Нет события - пропускай.
Добавлено через 4 минуты voraa,
0
|
||
|
3827 / 1664 / 429
Регистрация: 14.03.2022
Сообщений: 4,181
|
|
| 03.02.2025, 10:26 | |
|
1
|
|
|
1254 / 1170 / 179
Регистрация: 21.01.2024
Сообщений: 5,442
|
||||
| 03.02.2025, 10:37 | ||||
И вам советую. Тогда бы знали и про mouseenter c mouseleave И про метод contains, что бы определять является ли один узел потомком другого, а не паренты перебирать.
1
|
||||
|
0 / 1 / 1
Регистрация: 27.02.2024
Сообщений: 114
|
|||
| 03.02.2025, 11:13 [ТС] | |||
|
voraa,
Добавлено через 5 минут voraa,
0
|
|||
|
1254 / 1170 / 179
Регистрация: 21.01.2024
Сообщений: 5,442
|
|||||||
| 03.02.2025, 11:15 | |||||||
1
|
|||||||
| 03.02.2025, 11:15 | |
|
Помогаю со студенческими работами здесь
40
Функция иногда возвращает ложные данные Иногда функция возвращает значение NaN Now().DateString() иногда возвращает пустую строку Функция типа long double возвращает странные значения LAST_INSERT_ID() иногда возвращает ноль. Это не хорошо Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|