Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Определить выступает ли блок за обвёртку (https://javascript.ru/forum/misc/56716-opredelit-vystupaet-li-blok-za-obvjortku.html)

new_developer 30.06.2015 22:06

Определить выступает ли блок за обвёртку
 
Привет,
Обьясните кто нибудь как определить выходит ли внутрений блок за пределы блока в котором он находится?

<div class="chidInfo">
<div id='edditLessonContent'>Вот этот блок выступает ли за пределы блока chidInfo , 
если да мне надо его поднять выше чтобы не выступал )</div>
</div>

Malleys 30.06.2015 22:12

var e = document.getElementById("edditLessonContent");
if(e.offsetWidth > e.parentNode.offsetWidth) {
  /* сделать, что надо  */
}

new_developer 30.06.2015 22:20

забыл сказать, точнее только сейчас дошло до меня там вот как работает...

$.post(url, {lesson_id: lesson}, function(data) {
        $("#label_" + lesson).append(data).fadeIn(400);


в дата прилетает с пхп такой вот блок с содержимым.. И он всегда позиционируется под кнопкой... Но когда очень много записей на странице, при клике на последние 3 он прячится по футер...

И получается если он аппендится мне после этого делать проверку и менять его расположение? для глаза может это не заметно будет?)) или я поттупливаю ))?

<div id='edditLessonContent' style='background-color:white; right: 66px; padding:5px; border: 1px solid black; width:350px; diplay:none; position:absolute; z-index:1;'>

Malleys 30.06.2015 22:41

Цитата:

Сообщение от new_developer
он прячится по футер...

Как я понял часть содержимого попадает под футер... чтобы её было видно можно к элементу в котором содержимое добавить стиль padding-bottom: высота футера

new_developer 01.07.2015 08:14

Malleys,
не очень это подходит, точнее вообще не подходит...
Как получить кординаты куда я кликнул ( в моем случаи эта кнопка ) получив их я надеюсь позиционировать в соответвсвии координат


$(".editChild").live('click', function(e) {
        var elem = $(this).attr('id');
        var smechenie = $(this).offset();
        var otnositeliniiX = (e.pageX - smechenie.left);
        var otnositeliniiY = (e.pageY - smechenie.top);
        alert("Координата X: " + otnositeliniiX + "\nКоордината Y: " + otnositeliniiY);


нашёл вариант такой относительно блока координаты, ток что-то теперь не понимаю как расчитать точные значения чтобы через css отпозиционировать )

tsigel 01.07.2015 08:28

Цитата:

Сообщение от new_developer
Как получить кординаты куда я кликнул


<div style='height: 500px; background: yellow'></div>

<script>

  document.querySelector('div').addEventListener('click', function (e) {
     alert('x: '+ e.pageX + ' y: ' + e.pageY);
  }, false);

</script>

new_developer 01.07.2015 08:40

tsigel,
Чуть точнее задам попробую задать вопрос , можно ли получить координаты ( а лучше расположение элемента на странице в таких эдиницах как верх, право, лево, относительно какого либо блока?

Идея такая чтобы при клике определить в какой место отпозиционировать относительно блока в котором находится этот попап.

new_developer 01.07.2015 08:44

сейчас вот какая разметка , этот попап позиционируется абсолютно от <td> всё было хорошо пока не появилось много записей и когда кликаю по последним записям он уходит за футер

<div class="main">
<div class="chidInfo">
<table>
  <tr>
     <td id="label_14933">
        <div style="background-color:white; right: 66px; padding:5px; border: 1px solid black; width:350px; diplay:none; position:absolute; z-index:1;" id="edditLessonContent"> вот этот попап

     </div>
 </td>
</tr>
</table>
</div>
</div>

new_developer 01.07.2015 08:46

есть возможность которую я вижу, сделать позиционирование relative , и нужны координаты куда его закрепить отностительно кнопки он рядом с ней должен быть

tsigel 01.07.2015 10:32

у каждого элемента есть
offsetTop
offsetLeft
clientWidth
clientHeight
Берете их и считаете, задача простая. Просто то что вы делаете - костыли, это должно решаться стилями.


Часовой пояс GMT +3, время: 10:39.