У меня есть следующий код, который получает height
тела и записывает его в div, который отображается как table-cell
поэтому содержимое может быть вертикально центрировано на любом размере экрана при resize
. Я тестировал это, и он отлично работает.
$( window).resize(function() {
bodyHeight = $('body').outerHeight();
console.log('bodyHeight =' + bodyHeight);
$('.table-cell').css('height', bodyHeight +'px');
});
Теперь, если я попытаюсь поместить его в Drupal, используя следующий код. Это не работает. jQuery вызывается, потому что я могу запустить скрипт в Drupal, но не тогда, когда я укажу его для resize
.
jQuery(window).resize(function($) {
bodyHeight = $('body').outerHeight();
console.log('bodyHeight =' + bodyHeight);
$('.table-cell').css('height', bodyHeight +'px');
});
Первый аргумент метода resize
- это объект event
, а не jQuery
.
jQuery(window).resize(function(e) {
bodyHeight = $('body').outerHeight();
console.log('bodyHeight =' + bodyHeight);
$('.table-cell').height(bodyHeight);
});
Вы также можете использовать метод .height()
вместо метода .css()
.
Если вы беспокоитесь о конфликтующих $
переменных, завернуть все это в этом:
jQuery(function($){
// Your window resize here.
// $ will reference jQuery within this scope
});