Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.01.2014, 19:47
Профессор
Отправить личное сообщение для Гробовщик Посмотреть профиль Найти все сообщения от Гробовщик
 
Регистрация: 10.03.2013
Сообщений: 169

Разместить div под ячейкой таблицы
Может быть нестандартная реализация, но есть у меня таблица, при наведении на одну из ячеек которой отображается div, он расположен в ячейке, поэтому открывается по середине её... Как мне перенести этот div под ячейку? Подойдёт реализация а css, js, или хотя бы сказать в какую сторону думать... Вот код:
<script type='text/javascript' src='http://code.jquery.com/jquery-2.0.3.js'></script>
<style>
#reg {
display: none;
border-style: solid;
position:absolute;
z-index:999;
background: #FFF;
}
#kabinet{
 height: 50px;
}
</style>
</head>
<body> 
<table align="center" width="80%" border="1" style="margin:0 auto;">
<tr>
<td align="center" id="kabinet">
<a href="#" >Эта ячейка </a> 
<div id="reg">Вот именно этот div для красоты должен располагаться прямо ПОД ячейкой, как правильно сделать реализацию под все браузеры и расширения? Хотя бы идеечку=) Спасибо заранее</div>
</td> 
</tr>
</table>
<script type='text/javascript'>
var he=$('#kabinet').width();
$('#reg').width(he);
$(function() {
   $("#kabinet").hover(function(){ 
   $('#reg').show();
  },function(){
    $('#reg').hide();
  });
});
</script>
Ответить с цитированием
  #2 (permalink)  
Старый 23.01.2014, 19:50
Аватар для jsru_
Кандидат Javascript-наук
Отправить личное сообщение для jsru_ Посмотреть профиль Найти все сообщения от jsru_
 
Регистрация: 09.04.2013
Сообщений: 149

<script type='text/javascript' src='http://code.jquery.com/jquery-2.0.3.js'></script>
<style>
#reg {
display: none;
border-style: solid;
position:absolute;
z-index:999;
background: #FFF;
}
#kabinet{
 height: 50px;
}
</style>
</head>
<body> 
<table align="center" width="80%" border="1" style="margin:0 auto;">
<tr>
<td align="center" id="kabinet" style='position: relative'>
<a href="#" >Эта ячейка </a> 
<div id="reg" style='postion: relative'>Вот именно этот div для красоты должен располагаться прямо ПОД ячейкой, как правильно сделать реализацию под все браузеры и расширения? Хотя бы идеечку=) Спасибо заранее</div>
</td> 
</tr>
</table>
<script type='text/javascript'>
var he=$('#kabinet').width();
var h=$('#kabinet').height();
$('#reg').width(he);
$('#reg').css("top",h);
$(function() {
   $("#kabinet").hover(function(){ 
   $('#reg').show();
  },function(){
    $('#reg').hide();
  });
});
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 23.01.2014, 20:12
Профессор
Отправить личное сообщение для Гробовщик Посмотреть профиль Найти все сообщения от Гробовщик
 
Регистрация: 10.03.2013
Сообщений: 169

jsru_,
Этот код не работает =( Но судя по реализации, блок див начнёт сдвигаться относительно верха документа, и стало быть в зависимости от отступа таблицы сверху будет заступать на ячейку(
Ответить с цитированием
  #4 (permalink)  
Старый 23.01.2014, 20:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Гробовщик,
тоже самое что у jsru_, но чуть точнее и ресайзить можно ...
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
<script type='text/javascript' src='http://code.jquery.com/jquery-2.0.3.js'></script>
<style>
#reg {
display: none;
border-style: solid;
position:absolute;
z-index:999;
background: #FFF;
}
#kabinet{
 height: 50px;
}
</style>
<script type='text/javascript'>
$(function () {
    $kabinet = $('#kabinet');
    $kabinet.hover(function () {
        var w = $kabinet.outerWidth(true),
            h = $kabinet.outerHeight(true);
        $('#reg').css({
            "width" : w,
            "top": h,
            "left": '-4px'
        });
        $('#reg').show();
    }, function () {
        $('#reg').hide();
    });
});
</script>
</head>

<body>
<table align="center" width="80%" border="1" style="margin:0 auto;">
<tr>
<td align="center" id="kabinet" style='position: relative'>
<a href="#" >Эта ячейка </a>
<div id="reg" style='postion: relative'>Вот именно этот div для красоты должен располагаться прямо ПОД ячейкой, как правильно сделать реализацию под все браузеры и расширения? Хотя бы идеечку=) Спасибо заранее</div>
</td>
</tr>
</table>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 23.01.2014, 20:16
Профессор
Отправить личное сообщение для Гробовщик Посмотреть профиль Найти все сообщения от Гробовщик
 
Регистрация: 10.03.2013
Сообщений: 169

рони,
А у вас какой браузер? У меня лисица отображает весьма косо, и отступ от документа div берёт(((
Ответить с цитированием
  #6 (permalink)  
Старый 23.01.2014, 21:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Гробовщик,
div в таблице браузеры по разному обрабатывают ... если его поместить в любое другое место ... то будет всё одинаково ...
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
<script type='text/javascript' src='http://code.jquery.com/jquery-2.0.3.js'></script>
<style>
#reg {
display: none;
border-style: solid;
position:  absolute;
z-index:999;
background: #FFF;
}
#kabinet{
 height: 50px;
}
</style>
<script type='text/javascript'>
$(window).load(function () {
    $kabinet = $('#kabinet');

    $kabinet.hover(function () {
        var w = $kabinet.outerWidth(true),
            h = $kabinet.outerHeight(true),
            p = $kabinet.offset();
        $("#reg").css({width:w,top:p.top+h+2, left:p.left-2}).show();
    }, function () {
        $('#reg').hide();
    });
});
</script>
</head>

<body>
<div id="reg" >Вот именно этот div для красоты должен располагаться прямо ПОД ячейкой, как правильно сделать реализацию под все браузеры и расширения? Хотя бы идеечку=) Спасибо заранее</div>
<table  align="center" width="80%" border="1" style="margin:0 auto; border: #FF0000 1px double">
<tr>
<td align="center" id="kabinet" style='position: relative; background:  #FF8C00'>
<a href="#" >Эта ячейка </a>
</td>
</tr>
</table>
</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 24.01.2014, 08:39
Профессор
Отправить личное сообщение для Гробовщик Посмотреть профиль Найти все сообщения от Гробовщик
 
Регистрация: 10.03.2013
Сообщений: 169

рони,
Ну место дива в коде не принципиально, лишь бы стоял на месте при выводе в браузер
Всё же с jquery я ещё очень хер*во работаю, но стараюсь)))
Спасибо большое.
Ответить с цитированием
  #8 (permalink)  
Старый 24.01.2014, 09:06
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Гробовщик, что-то твоя таблица не похоже на таблицу. Какие в ней данные? Или вся таблица затеяна ради центровки и бордера?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #9 (permalink)  
Старый 27.01.2014, 17:11
Профессор
Отправить личное сообщение для Гробовщик Посмотреть профиль Найти все сообщения от Гробовщик
 
Регистрация: 10.03.2013
Сообщений: 169

danik.js,
Именно ради него) Там больше полей
Ответить с цитированием
  #10 (permalink)  
Старый 27.01.2014, 17:26
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Ну ты маньяк!
<!DOCTYPE html>
<html>
 
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style>
        #reg {
            display: none;
            border-style: solid;
            position: absolute;
            z-index: 999;
            top: 100%;
            left: 0;
            right: 0;
            background: #FFF;
            text-align: left;
        }
        #cabinet{
            height: 50px;
            position: relative;
            background:  #FF8C00;
            margin:0 auto;
            border: #FF0000 1px double;
            width: 80%;
            text-align: center;
        }
        #cabinet:hover #reg{
            display: block;
        }
    </style>
</head>
 
<body>

    <div id="cabinet">
        <a href="#" >Эта ячейка </a>
        <div id="reg">Вот именно этот div для красоты должен располагаться прямо ПОД ячейкой, как правильно сделать реализацию под все браузеры и расширения? Хотя бы идеечку=) Спасибо заранее</div>
    </div>
</body>
</html>
рони, почему $(window).load , а не $(document).ready ?
__________________
В личку только с интересными предложениями

Последний раз редактировалось danik.js, 27.01.2014 в 17:29.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить значение ячейки таблицы внутри блока div, в итерации .each() Sanu0074 jQuery 1 21.01.2014 19:32
Помогите преобразовать фильтр таблицы под select greencard jQuery 2 21.08.2013 12:36
растягивание div под загруженую картинку Alfer Элементы интерфейса 8 28.06.2012 16:13
Создание элементов под выбранной строкой таблицы Kitana Элементы интерфейса 4 05.09.2011 14:14
Выезжание таблицы из под ниоткуда. lancer Элементы интерфейса 3 29.06.2008 15:03