Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.04.2015, 18:21
Аспирант
Отправить личное сообщение для zkolya Посмотреть профиль Найти все сообщения от zkolya
 
Регистрация: 16.02.2015
Сообщений: 39

Подсчет Top , left в %
Здравствуйте,есть div внутри которых таблица/таблицы,мне нужно посчитать top left этих таблиц в процентах,относительно родителя. В px я получил top и left а вот в процентах проблема
Код:
$("#btn4").click(function(){
   var parentDivId = $(this).parent().attr('id');
     var widthparent=$("#"+parentDivId).width();
     var heightparent=$("#"+parentDivId).height();
     var c_t=$("table").length;
     var posit=" ";
     for(var i = 1;i<=c_t;i++)
     {
     var t = $( "#t"+i );
    var position = t.position()
    posit+="#t"+i+"{left: " + (100*position.left/widthparent) + ", top: " + (100*position.top/heightparent)+"}"
     }
     alert(posit);

});
Когда так,все нормально работает,но в px
Код:
posit+="#t"+i+"{left: " + position.left + ", top: " + position.top+"}"
Заранее Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 30.04.2015, 18:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

zkolya,
может проценты забыли?
posit+="#t"+i+"{left: " + (100*position.left/widthparent) + "%, top: " + (100*position.top/heightparent)+"%}"
Ответить с цитированием
  #3 (permalink)  
Старый 30.04.2015, 18:45
Аспирант
Отправить личное сообщение для zkolya Посмотреть профиль Найти все сообщения от zkolya
 
Регистрация: 16.02.2015
Сообщений: 39

рони,да не,дело вообще навряд ли в этом
вот что на выходе
#t1{left: Infinity%, top: Infinity%}
Ответить с цитированием
  #4 (permalink)  
Старый 30.04.2015, 19:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

zkolya,
вы с c_t ничего не перепутали в for?
Ответить с цитированием
  #5 (permalink)  
Старый 30.04.2015, 19:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

zkolya,
$("#btn4").click(function(){
   var parentDivId = $(this).parent().attr('id');
     var widthparent=$("#"+parentDivId).width();
     var heightparent=$("#"+parentDivId).height();
     var c_t=$("table");
     var posit=" ";
     c_t.each(function(indx, el){
          var position = $(this).position();
          posit+="#t"+(indx+1)+"{left: " + (100*position.left/widthparent) + "%, top: " + (100*position.top/heightparent)+"%}"
           });
     alert(posit);
});

Последний раз редактировалось рони, 30.04.2015 в 19:38.
Ответить с цитированием
  #6 (permalink)  
Старый 30.04.2015, 20:43
Аспирант
Отправить личное сообщение для zkolya Посмотреть профиль Найти все сообщения от zkolya
 
Регистрация: 16.02.2015
Сообщений: 39

рони,
Вот смотрите,тоже самое((
http://jsfiddle.net/qhbgrzj2/ Нужно создать новый div нажатать на него и сделать его активным ,после добавить в него таблицу(предварительно внизу ввести в поля количество строк и столбцов)
Выводит infinity
Ответить с цитированием
  #7 (permalink)  
Старый 30.04.2015, 20:58
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

zkolya,
var parentDivId = $(this).parent().attr('id'); у вашего body нет id
Ответить с цитированием
  #8 (permalink)  
Старый 30.04.2015, 21:06
Аспирант
Отправить личное сообщение для zkolya Посмотреть профиль Найти все сообщения от zkolya
 
Регистрация: 16.02.2015
Сообщений: 39

рони,
Прощу прощения,а body тут причем?
я сейчас думаю что то типо такого сделать.но этот вариант тоже не работает

posit+="#t"+i+"{left: " + (100*position.left/$("#"+$("#t"+i).parent().attr('id')).width()) + ", top: " + (100*position.top)+"}"
Ответить с цитированием
  #9 (permalink)  
Старый 30.04.2015, 21:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

zkolya,
http://jsfiddle.net/qhbgrzj2/1/
как вариант появление id после клика на вновь созданную таблицу - потом на кнопку нажать
Ответить с цитированием
  #10 (permalink)  
Старый 30.04.2015, 21:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от zkolya
Прощу прощения,а body тут причем?
потому что parent для вашей кнопки это body
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
Оцените, пожалуйста код вёрстки OlegALL Ваши сайты и скрипты 18 26.07.2011 09:35
Водяной знак на fancybox bobrina Общие вопросы Javascript 1 03.06.2011 21:11
Каруселька в форме буквы Maximor17 Элементы интерфейса 0 24.05.2011 11:36
Получится ли колонку посередине? micscr (X)HTML/CSS 13 17.02.2010 01:23