I am using twitter bootstrap 3 I need to adjust some user UI specific values that should be different for particular screen size.
I need to set that values based on screen resolution and also I need to change that values if screen resolution get changed.
So here is my code
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
});
}
To achieve my goal I am calling that function on document ready
and on window resize
But for some reason $('.mainHeader').affix
and $('.mainNav').onePageNav
do not gets overridden with a new values. In result .affix
and .onePageNav
just getting called with initial values(document ready
values).
$(window).resize(function() {
SetOffsets();
});
$(document).ready(function() {
SetOffsets();
});
So if I load the page with initial resolution <=768
of >768
- all working fine. But when resolution getting changed the new values is not applied in .affix
and .onePageNav
calls. I clearly can see on debugger that navbarOffet
and pageMenuNavOffset
changed when screen resized.
How can I fix that?