Я пытаюсь вертикально выровнять каждый .class на сайте с помощью Javascript. До сих пор я получил это:Функция Javascript не повторяется
<script type="text/javascript">
function setContent() {
var windowHeight = 67;
if (windowHeight > 0) {
var contentElement = document.getElementById('center');
var contentHeight = contentElement.offsetHeight;
if (windowHeight - contentHeight > 0) {
contentElement.style.position = 'relative';
contentElement.style.top = ((windowHeight/2) - (contentHeight/2)) + 'px';
}
}
}
window.onload = function() {
setContent();
}
</script>
Это работает, но только на первом элементе с ID-центром. Так как у меня 6 элементов, которые должны изменить Я изменил код для этого:
<script type="text/javascript">
function setContent() {
var windowHeight = 67;
if (windowHeight > 0) {
var contentElement = document.getElementsByClassName('center');
var contentHeight = contentElement.offsetHeight;
if (windowHeight - contentHeight > 0) {
contentElement.style.position = 'relative';
contentElement.style.top = ((windowHeight/2) - (contentHeight/2)) + 'px';
}
}
}
$('.center').each(function(){
$(this).setContent();
});
</script>
Я изменил document.getElementById («центр»); to document.getElementsByClassName ('center'); поэтому он принимает все классы (и да, я тоже изменил его в html). Я также добавил немного кода, который должен повторять функцию для каждого элемента с центром класса. Проблема в том, что она не работает, и я не могу понять, где она пойдет не так.
Любые идеи?
'contentElement' будет содержать все элементы с' center' класса не только один. – jantimon