Поддержка Проблемы и решения Неверно считается отступ от футера

  • Решено dmitriy88

    (@dmitriy88)


    На сайте используется дочерняя тема от темы Twenty Thirteen. В теме Twenty Thirteen есть скрипт functions.js, в частности в нем есть код, который отвечает за отступ от футера, если высота сайдбара больше высоты контента.

    	$( function() {
    		if ( body.is( '.sidebar' ) ) {
    			var sidebar   = $( '#secondary .widget-area' ),
    			    secondary = ( 0 === sidebar.length ) ? -40 : sidebar.height(),
    			    margin    = $( '#tertiary .widget-area' ).height() - $( '#content' ).height() - secondary;
    
    			if ( margin > 0 && _window.innerWidth() > 999 ) {
    				$( '#colophon' ).css( 'margin-top', margin + 'px' );
    			}
    		}
    	} );

    Проблема в том, что этот отступ счиатется неправильно. Я выводил через console.log() значения $( ‘#tertiary .widget-area’ ).height() и $( ‘#content’ ).height(). Выяснилось, что $( ‘#content’ ).height() считается неправильно. Насколько мне удалось выяснить, то в высоту не попадают комментарии Cackle, хотя они входят в контейнер #content. Судя по всему, они подгружаюся после первоначальной загрузки страницы. Как это исправить? Править functions.js и добавлять что-то вроде $( document ).ready()? Тогда я не смогу обновлять родительскую тему. Или же обращаться к разработчикам комментариев и узнать, как подключить скрипт в head, но это тоже неправильно, т.к. скажется на скорости загрузки страницы.

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Модератор Юрий

    (@yube)

    и добавлять что-то вроде $( document ).ready()?

    А функция и так должна быть на этом событии. И оно всяко происходит до того, как подгрузятся данные из внешних источников.

    Я думаю, надо искать событие Какля.лоадед или типа того и по нему пересчитывать высоту, аналогично тому, как это сделано в functions.js, но уже после того, как подгрузятся сторонние комментарии.

    Я думаю, надо искать событие Какля.лоадед или типа того и по нему пересчитывать высоту, аналогично тому, как это сделано в functions.js, но уже после того, как подгрузятся сторонние комментарии.

    А как переопределить скрипт в дочерней теме?

    А как переопределить скрипт в дочерней теме?

    Смотря как определен в родительской. А зачем? Ну пересчитает два раза, ну потратит лишнюю наносекунду юзерского ресурса. Не принципиально, мне кажется.

    Ну пересчитает два раза, ну потратит лишнюю наносекунду юзерского ресурса. Не принципиально, мне кажется.

    На самом деле тоже так думал. Спросил, чтобы точно понимать, как поступить. Всегда же хочется сделать как можно лучше.

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Тема «Неверно считается отступ от футера» закрыта для новых ответов.