Нижний колонтитул прыгает только на первом фильтрующем действии

Я реализовал портфолио quicksand на веб-сайте (над которым, к сожалению, я работаю в xampp, поэтому не могу показать вам пример), и мой sitefooter делает большой прыжок в область контента ТОЛЬКО при первом действии фильтрации.

Что я пробовал:

  • различные настройки для опции "AdjustHeight" плывуна
  • избегая правил CSS и JQuery на одном и том же селекторе
  • определение ширины и высоты как можно лучше
  • W3C проверка всей моей разметки, конечно

Вот что происходит:

  • загрузить страницу портфолио
  • нажмите на фильтр
  • нижний колонтитул на всю ширину подпрыгивает прямо в contentarea
  • элементы портфеля переставляют и возвращают нижний колонтитул на место
  • использовать другой фильтр
  • плавные переходы, без перехода внизу

Дополнительная информация: я не использую px или em для ширины, но%, потому что мне нужны столбцы и мне нужна страница, чтобы реагировать.

Почему нижний колонтитул прыгнул в первый раз, используя только фильтр? Есть идеи?

Части моей разметки HTML:

<div id="main-content">
    <ul id="quicksand-portfolio" class="filterable-grid">  

        <li data-id="id-1234" data-type="category-1">
            <span class="portfolio-thumbnail">
                <a href="#"><img src="image.jpg"></a>   
             </span>                                

             <div class="thumbnail-overlay">
                 <div class="infotext">
                     <p>blablabla</p>
                 </div>
              </div>
        </li>

    </ul>
 </div>

Правила CSS:

ul.filterable-grid li {
    float: left;
    width: 30.68%;
    height: 180px;
    overflow: hidden;
    margin-right: 3.97%;
    margin-bottom: 3.97%;
    position: relative;
}

ul.filterable-grid li:nth-child(3n) {
    margin-right: 0;
}

ul.filterable-grid li:nth-child(3n+1) {
    clear: left;
}

ul.filterable-grid li p {
    display:block;
}

.portfolio-thumbnail {
    width: 100%;
    height: 180px;
    overflow: hidden;
}

.portfolio-thumbnail img {
    max-width: 100%;
    height: auto;
}

И часть зыбучих песков:

// Quicksand Portfolio
function portfolio_quicksand() {
    var $filter;
    var $container;
    var $containerClone;
    var $filterLink;
    var $filteredItems

    $filter = $('.filter li.active a').attr('class');
    $filterLink = $('.filter li a');
    $container = $('ul#quicksand-portfolio');
    $containerClone = $container.clone();

            // Show Thumbnail Overlay on mouseover, hide on mouseout
    $('#main-content').on('mouseover', '#quicksand-portfolio li', function(){
        $(this).find('.thumbnail-overlay').stop().toggle('fast');
    });

    $('#main-content').on('mouseout', '#quicksand-portfolio li', function(){
        $(this).find('.thumbnail-overlay').stop().toggle('fast');    
    });

            // Filter Links
    $filterLink.click(function(e) 
    {
        $('.filter li').removeClass('active');
        $filter = $(this).attr('class').split(' ');
        $(this).parent().addClass('active');

        if ($filter == 'all') {
            $filteredItems = $containerClone.find('li'); 
        }
        else {
            $filteredItems = $containerClone.find('li[data-type~=' + $filter + ']'); 
        }

                    // Quicksand Transitions
        $container.quicksand($filteredItems, 
        {
            duration: 750,
            easing: 'easeInOutQuad',
            adjustHeight: 'auto',
        });
    });
}

if(jQuery().quicksand) {
    portfolio_quicksand();  
}

1 ответ

Вы можете попробовать настроить Height: 'false'. это работает нормально.

Другие вопросы по тегам