Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.02.2014, 11:58
Интересующийся
Отправить личное сообщение для nextdrift Посмотреть профиль Найти все сообщения от nextdrift
 
Регистрация: 23.10.2011
Сообщений: 25

Узнать размеры DIV'а до его добавления на страницу
Добрый день.

Делаю генератор всплывающих подсказок (при помощи jQuery), размер треугольника(стрелочки) строится исходя из размера высоты DIV'a текста

До этого делал следующим образом:

1. добавлял блок с текстом на страницу
var text = $('<div>').html('какой-то текст...');
text.appendTo(el);


2. брал высоту блока
var height = text.outerHeight();


3. генерировал SVG стрелочку исходя из высоты блока

//////

как можно узнать высоту текстового блока до помещения на страницу?


текстовый блок имеет также параметр max-width - для переноса длинных текстов
Ответить с цитированием
  #2 (permalink)  
Старый 28.02.2014, 13:59
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

Вставить его с display:none или visibility:hidden измерить и установить видимым
хотя я сам не пробовал. Как вариант position absolute и большие минусовые left и top
Ответить с цитированием
  #3 (permalink)  
Старый 28.02.2014, 18:26
Интересующийся
Отправить личное сообщение для nextdrift Посмотреть профиль Найти все сообщения от nextdrift
 
Регистрация: 23.10.2011
Сообщений: 25

Сообщение от krasovsky Посмотреть сообщение
Вставить его с display:none или visibility:hidden измерить и установить видимым
хотя я сам не пробовал. Как вариант position absolute и большие минусовые left и top
мне нужно именно в памяти было.

Я сейчас пошёл немного по другому пути.

Написал функцию перевода простого текста в текст разибтый по линиям.

кому интересен код, делюсь

http://pastebin.com/BNzPsvsz


От количества полученых линии буду задавать высоту.

Сейчас буду писать функцию рисования svg.
Ответить с цитированием
  #4 (permalink)  
Старый 01.03.2014, 00:28
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сообщение от nextdrift
мне нужно именно в памяти было.
Оно в памяти и будет. Типа в клипборде, отформатированном.
Ответить с цитированием
  #5 (permalink)  
Старый 01.03.2014, 01:03
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от nextdrift
как можно узнать высоту текстового блока до помещения на страницу?
Пока не поместишь блок на страницу к нему не применятся css-стили. А ведь высота зависит именно от стилей. Понял в чем фишка?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 01.03.2014, 12:41
Профессор
Отправить личное сообщение для Царь Леонид Посмотреть профиль Найти все сообщения от Царь Леонид
 
Регистрация: 22.08.2013
Сообщений: 217

Я делал похожую штуку, по умолчанию ставил margin-left:-9999px потом брал ширину блока и применял его к margin-left. Если у блока поставить display:none или opacity:0, ничего не получится
Ответить с цитированием
  #7 (permalink)  
Старый 01.03.2014, 12:47
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

visibility:hidden и все получится.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #8 (permalink)  
Старый 04.03.2014, 23:12
Интересующийся
Отправить личное сообщение для nextdrift Посмотреть профиль Найти все сообщения от nextdrift
 
Регистрация: 23.10.2011
Сообщений: 25

И так Всем спасибо за советы Но я пошёл путём рисования в SVG - всё работает теперь даже лучше, кроме одной проблемы.

Проблема с шириной блока под текст...
Я пошёл по наипростому пути и сделал следующий способ.

ширна = кол-во символов * 10

но вот проблема в том, что разные символы имеют разную ширину... Как поступить в данной ситуации? Может стоит написать отдельную функцию, в которой будут размеры каждого символа в px? И таким образом считать
Ответить с цитированием
  #9 (permalink)  
Старый 05.03.2014, 08:30
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от nextdrift
Как поступить в данной ситуации?
Все советы тебе уже дали выше...
Ответить с цитированием
  #10 (permalink)  
Старый 05.03.2014, 15:09
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

Сообщение от nextdrift Посмотреть сообщение
И так Всем спасибо за советы Но я пошёл путём рисования в SVG - всё работает теперь даже лучше, кроме одной проблемы.

Проблема с шириной блока под текст...
Я пошёл по наипростому пути и сделал следующий способ.

ширна = кол-во символов * 10

но вот проблема в том, что разные символы имеют разную ширину... Как поступить в данной ситуации? Может стоит написать отдельную функцию, в которой будут размеры каждого символа в px? И таким образом считать
Не для фана конечно можешь попробовать, но это нежизнеспособно. Я тебя наверно не удивлю если напомню что кроме разной ширины букв, есть еще и разные шрифты )) А еще не забудь учесть межбуквенную разрядку, Bold italic и прочие и прочие.
В общем итоге чтоб сделать такой расчет тебе нужно точно знать каким шрифтом и с какими стилями текст. И не менять его во веки веков а то рассчеты поломаются.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Узнать наличие скрола и его ширину. Dorian_bs Общие вопросы Javascript 6 31.07.2011 02:56
Надо узнать наличие скролла и его ширину Snipe Элементы интерфейса 1 26.11.2010 15:00
меню как на mail.ru - его можно скрыть и содержимое раздвинется на всю страницу ange-linka Элементы интерфейса 4 16.09.2010 12:12
Как узнать размеры изображения в internet explorer dark Общие вопросы Javascript 1 13.04.2009 16:24
Узнать исходные размеры картинки/флешки без подгрузки? SunnyDay Общие вопросы Javascript 2 07.10.2008 13:41