2012-05-24 4 views
0
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#cell').css('height',$(window).height()+'px'); 
    }); 
</script> 

как вы видите, у меня есть этот скрипт, который указывает на высоту ячейки, которая должна быть как высота страницы. , но за пределами этого div я получил еще один div, который положил его top=50% и margin-top=-218px в середину экрана. из-за этого высота высоты страницы больше, чем должно быть.правый синтаксис jQuery

Я пытался сделать что-то вроде этого, но я не могу найти правильный syntax-

<script type="text/javascript"> 
    $(document).ready(function() { 
     var p = $("mainWrap"); 
     var position = p.position(); 
     heightPage = $(window).height() 
     heightTop = position.top; 
     heightFixed = heightPage - heightTop + "px"; 
     $('#cell').css('height', heightFixed); 
    }); 
</script> 

EDIT: я был в состоянии сделать это, как так

<script type="text/javascript"> 
$(document).ready(function() { 
    var s = document.getElementById('cell'); 
    var fixedHeight = $(window).height() - s.offsetTop; 
    fixedHeight = fixedHeight + "px"; 
    $('#cell').css('height',fixedHeight); 
}); 

спасибо за ваши комментарии.

для парня, который прокомментировал, что спрашивает, что я пытался сделать: Я сосредоточил свой контент, обернув его DIV, который подталкивал его к середине «сверху: 50%» и отдавал его обратно в начало поэтому он будет посередине «margin-top: 208px» (его высота содержимого). Кроме того, у меня есть нижний колонтитул, который скрывается под экраном, прокручиваемым (независимо от разрешения экрана), и из-за центрирования нижний колонтитул был слишком прокручен. Верх: 50% подтолкнули нижний колонтитул в глубину и я должен был найти способ подтолкнуть его обратно. Именно там появилась часть jquery. Я знаю, что есть много способов держать нижний колонтитул внизу или под экраном, но im работает с cms patform и там это много ошибок и унаследованных css, поэтому это было слишком сложно.

В любом случае все в порядке сейчас и его работа, надеюсь, что это когда-нибудь будет полезно для кого-то.

благодарит за помощь.

+0

На какой линии вы получаете сообщение об ошибке? – Undefined

+0

отсутствует полуколока на 5-й строчке, для начала. Кроме того, вы должны обернуть вычитание в строке 7 '(heightPage - heightTop) +" px ";' – musefan

+0

@musefan, полуколоны автоматически добавляются движком js, это не проблема. –

ответ

3
var p = $("mainWrap"); 

необходим индикатор, если это идентификатор (#) или класс (.). Для ID он должен выглядеть

var p = $("#mainWrap"); 

EDIT: Как Ash отметил, p скорее всего, будет undefined и, следовательно, следующая строка будет выдавать ошибку, потому что undefined не имеет свойства position.

+0

Хорошее место. Поэтому вы можете объяснить, что 'p', вероятно, будет null. +1 в любом случае. –

+0

@AshBurlaczenko p не будет null, это будет пустой объект jquery. – Yoshi

Смежные вопросы