На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ElcnU, ANDLL, fatalist
  
> Расположение на странице , О слоях
    Возможно ли привязать <div> к таблице? Проблемма в следующем: есть слой, который должен быть как бы вставлен в ячейку таблици, но положение слоя ведь должно задавться в координатах от верхнего левого угла (если я не прав, поправьте плиз), всё работет нормальна, но когда допустим я меняю разрешение экрана, то слой уже не попадает в таблицу :(. Что делать?
      А как насчет относительного позиционирования?
      ExpandedWrap disabled
        div {
            position:relative;
            left:0px;
            top:0px;
        }
        Цитата
        Demon_id, 14.09.04, 16:05
        но положение слоя ведь должно задавться в координатах от верхнего левого угла

        Неа, не обязательно, достаточно просто вложить div в ячейку и всё.
          Цитата
          Mixxx, 14.09.04, 17:02
          Неа, не обязательно, достаточно просто вложить div в ячейку и всё.


          более того, если задать в div'е абсолютное позиционирование, то верхний левый угол экрана будет для него 0,0. (только если таблица, или ячейка не имеют поззиционирования).

          Ежели задать ему relative, то координаты будут отсчитываться от левого верхнего угла <TD>

          Mixxx прав, не задавай ничего, положи просто div вовнутрь.
            При всём этом мне ещё нужно премещать слой (drag&drop). Если ставлю <div> без style, то слой есть, но не перемещается; если указываю position:relative, то при нажатии на слой он куда то пропадает; а если ставлю position:absolute - всё работает, но позиционирует относительно всего окна.
            Что посоветуете?
              Цитата
              Demon_id, 15.09.04, 02:20
              При всём этом мне ещё нужно премещать слой (drag&drop). Если ставлю <div> без style, то слой есть, но не перемещается; если указываю position:relative, то при нажатии на слой он куда то пропадает; а если ставлю position:absolute - всё работает, но позиционирует относительно всего окна.
              Что посоветуете?

              Чушь. Drag & drop тебе в любом случае придется обрабатывать. Пожалуйста, выложи свой код.
                Конечно, чушь. ЧТо за вопросы дурацкие такие.
                Вообще, и не стоит их задавать. Ответ пусть найдут в себе. А коли ты ошибаешься - с*ам и позор тебе, и нет оправдания невежеству.


                Предлагаю каждый раз расчитывать координаты заново: offsetTop, offsetHeight и прочее.
                Сообщение отредактировано: SergeS -
                  А может вот так:
                  ExpandedWrap disabled
                     
                        <script language="javascript">
                    <!--
                    var x,y,tempX,tempY;
                    var dragapproved=false;
                    document.onmousedown=fnDragMinMaxDown;
                    document.onmouseup=fnDragMinMaxUp;
                    function fnDragMinMaxDown(){
                        if (!document.all)
                        return false;
                        if (event.srcElement.className=="drag"){
                            dragapproved=true;
                            DragElement=event.srcElement;
                            DragElement.style.zIndex=100;
                            //таким вот образом определяем элемент под которым находимся
                            DragElement.style.visibility="hidden";
                            SourceElement = document.elementFromPoint(event.clientX, event.clientY);
                            DragElement.style.visibility="visible";
                            
                            tempX=DragElement.style.pixelLeft;
                            tempY=DragElement.style.pixelTop;
                            x=event.clientX;
                            y=event.clientY;
                            document.onmousemove=fnDragMinMaxMove;
                        }
                    }
                    function fnDragMinMaxMove(){
                        if (event.button==1&&dragapproved){
                            DragElement.style.pixelLeft=tempX+event.clientX-x;
                            DragElement.style.pixelTop=tempY+event.clientY-y;
                        }
                        return false;
                    }
                    function fnDragMinMaxUp(){
                        if(dragapproved){
                        dragapproved=false;
                        }
                    }
                     
                    //-->
                        </script>
                     
                    и код html
                            <TABLE id="Table1" cellSpacing="1" cellPadding="1" width="300" border="1">
                                <TR>
                                    <TD><div class="drag" style="CURSOR: pointer; POSITION: relative">то что перетаскиваем</div>
                                    </TD>
                                    <TD></TD>
                                </TR>
                            </TABLE>

                  M
                  А тег CODE  сложно использовать ?
                  1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0262 ]   [ 14 queries used ]   [ Generated: 19.05.24, 13:17 GMT ]