Скрипт запуска Drupal jQuery для .resize ()

0

У меня есть следующий код, который получает 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
drupal

1 ответ

3
Лучший ответ

Первый аргумент метода 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
});
  • 0
    Спасибо, приятель, твое второе предложение, завернув его в jQuery (функция ($), сработало. Я тоже попробую метод .height (). Звучит чище, чем .css () Cheers

Ещё вопросы

Сообщество Overcoder
Наверх
Меню