2016-09-19 5 views
1

enter image description here Мне нужна сводная информация о заказе, которую нужно зафиксировать, как на картинке, прикрепленной к боковой панели, которая должна останавливаться, как указано на рисунке, но иногда она ниже нижнего колонтитула.Bootstrap аффикс плагин не работает иногда в нижней части страницы

Я использую подключаемый модуль Bootstrap 3.0.0 affix для исправления сводки заказов в боковой панели на странице проверки моего магазина в opencart.

 <script type="text/javascript"> 
      $(document).ready(function(){ 
       var headerHeight = $('header').outerHeight(true); 
       var c = $('.custom-footer').outerHeight(); 
       var f = $('.full-width').outerHeight(); 
       var footerHeight =c + f+ 60; 
       $('#summary-div').affix({ 
        offset: { 
        top: 270, 
        bottom: footerHeight // using bottom value like this never always makes the order summary div to overlap the footer 
        //bottom :455 // I get affixed sidebar when i use bottom value as 455 but it sometimes overlaps the footer 
        } 
       }).on('affix.bs.affix', function() { // before affix 
        $(this).css({  
        'width': $(this).outerWidth() // variable widths 
        }); 
       }); 
      }); 
     </script> 
     <style type="text/css"> 
      #summary-div.affix{ 
       position: fixed; 
       top: 0px; 
       width: 28.8%; 
      } 
      .affix-top{ 
       position: static; 
      } 

      .affix-bottom{ 
       position:absolute; 
       bottom:auto !important; 
      } 
     </style> 

У меня есть вопрос и изображение.

+1

попробуйте установить $ ('заказ колонтитула.) OuterHeight (истина) в качестве переменной снаружи. аффикс. Интересно, неужели JS не справляется с браузером, пытающимся быстро вернуть этот параметр высоты. – crazymatt

+1

@crazymatt Вы можете теперь посмотреть, я добавил изображение и изменил детали моего вопроса, чтобы уточнить его, пожалуйста, помогите –

+1

его невозможно сказать, в чем проблема с небольшим кодом, который поставляется. В любом случае вы можете воспроизвести проблему в [js.fiddle] (https://jsfiddle.net/) или предоставить больше кода? Также вы попробовали добавить код в HTML вместо JS, просто чтобы узнать, все еще проблема? – crazymatt

ответ

1

Попробуйте это:

Проверить Рабочий Демонстрационные HERE

JS:

var headerHeight = $('header').outerHeight(true); 
var footerHeight = $('footer').outerHeight() + 60; 
$('#account-overview-container').affix({ 
    offset: { 
    top: headerHeight, 
    bottom: footerHeight 
    } 
}).on('affix.bs.affix', function() { // before affix 
    $(this).css({  
    'width': $(this).outerWidth() // variable widths 
    }); 
}); 
+1

Я изменил изображение, он показывает проблему, я получаю Плюс я использовал ваш код, он также имеет та же проблема, –

+1

Мне нужно, чтобы сводка заказов была в уровне или левом div, и я получаю это, но иногда суммарный свод правил заказа перекрывает нижний колонтитул. Я не знаю, в чем причина этого –

+1

См. Обновленный вопрос –