Я использую twitter bootstrap 3 Мне нужно настроить некоторые пользовательские пользовательские интерфейсы, которые должны отличаться для конкретного размера экрана.Twitter bootstrap, если размер окна
Мне нужно установить эти значения на основе разрешения экрана, а также изменить эти значения, если изменение разрешения экрана изменится.
Так вот мой код
function SetOffsets()
{
var navbarOffet = 80;
var pageMenuNavOffset = 350;
if ($(window).width() <= 768) {
navbarOffet = 80;
pageMenuNavOffset = 350;
}
else if ($(window).width() > 768) {
navbarOffet = 600;
pageMenuNavOffset = 100;
}
$('.mainHeader').affix({
offset: {
top: navbarOffet
}
});
$('.mainNav').onePageNav({
currentClass: 'active',
scrollOffset: pageMenuNavOffset
});
}
Для достижения своей цели я называю эту функцию в документе ready
и на окне resize
Но по какой-то причине $('.mainHeader').affix
и $('.mainNav').onePageNav
не получает переопределена с новыми значениями. В результате .affix
и .onePageNav
просто получают вызовы с начальными значениями (значения документа ready
).
$(window).resize(function() {
SetOffsets();
});
$(document).ready(function() {
SetOffsets();
});
Так что, если я загрузить страницу с исходным разрешением <=768
из >768
- все работает нормально. Но при изменении разрешения новые значения не применяются в .affix
и .onePageNav
звонках. Я ясно вижу на отладчике, что navbarOffet
и pageMenuNavOffset
изменились при изменении размера экрана.
Как это исправить?
Я не уверен, но не является ли свойство 'offset.top' должно быть функцией? – Tim