Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Java script - как узнать высоту элемента?

540  
AlexNek патриот19.06.21 12:28
AlexNek
19.06.21 12:28 

Не знаю в чём проблема, но canvas не хочет подстраиваться под страницу. Это не хтмл, а блазор страница, но особой разницы видимо нет.

Обвернул его в div, под него тоже не хочет подстраиваться. Хотя ширину парента (канваса, то бишь див-а) можно прочитать и установить затем с явы скрипта (не приведен). А вот высоту никак не хочет выдавать, везде пишет неопределенно.

<style>
    .my-component1 {
        border: 2px dashed red;
    }
</style>
<div class="my-component1" style="height: 600px;">
   <canvas id="xxx" touch-action="none"/>
</div>

Получается такая картинка

Как канвасу полностью заполнить див? Канвас находится в отдельной библиотеке, ширину и высоту ему устанавливать нельзя.

#1 
NightWatch коренной житель19.06.21 12:55
NightWatch
NEW 19.06.21 12:55 
в ответ AlexNek 19.06.21 12:28, Последний раз изменено 19.06.21 12:59 (NightWatch)
Канвас находится в отдельной библиотеке, ширину и высоту ему устанавливать нельзя.

Это как? Canvas находится в DOM'е. Добраться до него, используя соответствующие селекторы, не представляет сложности. А дальше устанавливаешь width и height по желанию.

Если же запрет на изменение размеров - это соглашение с разработчиком библиотеки, тогда шансов нет.

https://jsfiddle.net/8mvb9c3e/

#2 
AlexNek патриот19.06.21 13:20
AlexNek
NEW 19.06.21 13:20 
в ответ NightWatch 19.06.21 12:55
Это как?

Пока делаю так

<canvas id="babylon-canvas" touch-action="none" style="height: 500px;"/>


Там похоже акспект ратио еще устанавливается стронней либой.

Дело в том, что я делаю шарповский враппер в JS либе. Враппер будет находится в отдельном проекте как UI компонент. Поэтому и хочется что бы он сам мог свои размеры подгонять.


Добраться до него

А до него и добираться не нужно, я его ид передаю в JS.

Проблема в том, что могу прочитать только ширину элементов, а вот высоту не выдает.

...

ооо пока писал нашел, что с именем ошибся смущ

#3 
alex445 местный житель19.06.21 19:30
NEW 19.06.21 19:30 
в ответ AlexNek 19.06.21 13:20

Посмотрел ваши последние темы... Мне на одном форуме, когда я много мелких вопросов задавал, кто-то написал, что если человек задал вопрос, и ему долго не отвечать, то он в конце-концов сам его решит. Философия какая-то получается...

#4 
AlexNek патриот19.06.21 21:11
AlexNek
NEW 19.06.21 21:11 
в ответ alex445 19.06.21 19:30
Философия какая-то получается...

ну так поэтому и пишется...

Бывает, как начинаешь вопрос формулировать так и проблему видишь.

А тут, ну не привык, что язык не ругается на неправильное имя проперти. смущ Смотрел, смотрел и не видел, а как скопировал в форум так сразу и заметил.

#5 
alex445 местный житель19.06.21 23:25
NEW 19.06.21 23:25 
в ответ AlexNek 19.06.21 21:11

Я помню, как писал на С++ в Борланд Билдер 3 и немного новее - никакой подсветки ошибок. Опечатался - только после компиляции тебе покажут, что в этой линии ошибка - ищи. Про автокомплит и всякие интеллисенс вообще молчу. Как раньше программы вообще писали?

#6 
AlexNek патриот20.06.21 13:44
AlexNek
NEW 20.06.21 13:44 
в ответ alex445 19.06.21 23:25
только после компиляции тебе покажут, что в этой линии ошибка

ну так хоть что то покажут.

Я вот помню на фортране писал, там там даже дисплея не было спок

#7 
Murr патриот20.06.21 19:14
Murr
NEW 20.06.21 19:14 
в ответ alex445 19.06.21 23:25

Как раньше программы вообще писали?

------

Берешь бланк со стандартной разметкой под код... или разлиновываешь лист в клеточку под бланк.

Пишешь карандашиком в бланке код.

Сдаешь в одно окошко - на набор.

На следующий день - получаешь свой бланк и пачку перфокарт,

Просматриваешь набор перфокарт на предмет грубых ошибок.

Сдаешь перфокарты в другое окошко - на выполнение.

На следующий день - в третьем окошке получаешь набор перфокарт и распечатку ошибок.

Берешь новый бланк и пишешь строки которые надо заменить.

Сдаешь в первое окошко на набор.

На следующий день получаешь набор перфокарт.

Заменяешь или добавляешь нужные перфокарты в первом наборе.

Сдаешь набор перфокарт во второе окошко.

Получаешь свои перфокарты и распечатку ошибок...

Дальше все повторяется до получения результата.

#8