Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Позиционирование в Поле HTML документа

Позиционирование в Поле HTML документа
Я
   Geroy
 
09.10.20 - 11:37
Как программно сменить позиционирование в поле HTML.

В поле html хранится переписка, необходимо при открытии формы сразу показывать последний комментарий, исключить тем самым необходимость прокрутки поля.
   Garykom
 
1 - 09.10.20 - 11:49
   Garykom
 
2 - 09.10.20 - 11:50
(1)+ Хотя в твоем случае проще сразу до тега в котором комментарий крутить
   Йохохо
 
3 - 09.10.20 - 11:55
вроде раньше дня этого anchor ставится
   Geroy
 
4 - 09.10.20 - 11:58
(1) скорее всего нужно scrollTo

(3) есть прмер?
   Garykom
 
5 - 09.10.20 - 12:02
(4) скорее elem.scrollIntoView()
   Йохохо
 
6 - 09.10.20 - 12:14
(4) посмотри на хреф под (4), id=860459#3 вот #3 это якорь, только вода утекла и теперь по другому называется
   PloAl
 
7 - 09.10.20 - 12:14
window.scrollTo(0, document.body.scrollHeight);

Если переписка небольшая все открывается моментально.
Но если +- от 1000 да еще и с картинками отображение и позиционирование будет тупить пару тройку секунд, дальше больше.
   Geroy
 
8 - 09.10.20 - 13:57
(2) как найти координаты?
   acht
 
9 - 09.10.20 - 14:11
(8) ... an optional fragment url component preceded by a hash (#). The fragment contains a fragment identifier providing direction to a secondary resource, such as a section heading in an article identified by the remainder of the URI. When the primary resource is an HTML document, the fragment is often an id attribute of a specific element, and web browsers will scroll this element into view.
   Йохохо
 
10 - 09.10.20 - 14:26
(9) =)
(8) в общем тебе надо вот такую хрень воткнуть перед последней темой <a href="#8" style="text-decoration:none;" class="interlink" data-rel="#8">8</a> и АдресHTML = "http://www.v8.1c.ru/foo#8";;
код стыбзен с этой страницы)
   PloAl
 
11 - 09.10.20 - 15:24
(10) Если в поле HTML содержится строка с текстом html вместо ссылки на локальный файл или внешний ресурс то перейти по якорю не получиться.
   Geroy
 
12 - 13.10.20 - 12:07
решение:

Элементы.ТекстHTML.Документ.body.scrollTop = Позиция;
   acht
 
13 - 13.10.20 - 12:38
(12) Тогда уж без вычисления позиции:

Элементы.Поле1.Документ.getElementById("qqq").scrollIntoView(Истина);
   Geroy
 
14 - 14.10.20 - 08:34
(13) ну а "qqq" это разве не позиция (элемент) до которого нужно прокрутить ?
   acht
 
15 - 14.10.20 - 08:44
(14) Ты хранишь идентификатор элемента в переменной с именем "Позиция"?
body.scrollTop это вообще-то число: https://drafts.csswg.org/cssom-view/#dom-element-scrolltop
   Geroy
 
16 - 14.10.20 - 12:28
(15) нет, тут число координата начала необходимого мне комментария
   acht
 
17 - 14.10.20 - 12:33
(16) а "qqq" - идентификатор элемента, к которому осуществляется прокрутка

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.