Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Twitter Bootstrap: Affix not triggering in single page application

I am doing a Single Page Application and using Twitter Bootstrap. I am trying to use the Affix like so:

<div data-spy="affix" data-offset-top="100">

When I refresh the page, everything works fine, the bootstrap affix adds a class like so:

<div class="affix-top" data-spy="affix" data-offset-top="100">

and after I go past 100px, it changes it to class="affix". However, if I click off this page and come back, it no longer adds any classes to my div. In fact, it does not trigger the function in bootstrap at all to set the actions to check the position, etc.

Any insight would be great in how I can manually trigger it when I need to?

like image 403
changus Avatar asked Oct 04 '22 18:10

changus


1 Answers

You might need to reinitialize the affix plugin with something like $('.affix-container').affix({offset: { top: 100 }}); when the page is redrawn.

like image 116
Brian Lewis Avatar answered Oct 09 '22 17:10

Brian Lewis