Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Affix is not a function

I've been trying to create a sticky sidebar for a while on my Wordpress site with Bootstrap 4 Alpha. I've found other issues similar to this one online and most suggest putting the code inside of

jQuery(document).ready(function($){
});

I've tried this but was not successful. I've also tried rearranging the order of how my scripts are being called and that hasn't worked either.

Here is the basic Bootstrap sidebar code that I currently have

jQuery(document).ready(function($){
$('#sidebar').affix({
      offset: {
        top: 245
      }
});

var $body   = $(document.body);
var navHeight = $('.navbar').outerHeight(true) + 10;

$body.scrollspy({
    target: '#leftCol',
    offset: navHeight
});
});

And here is the error message

Uncaught TypeError: $(...).affix is not a function

Would anyone happen to know why this issue is occurring?

Thanks

like image 552
gabed123 Avatar asked Feb 15 '17 00:02

gabed123


2 Answers

Affix is removed from bootstrap version 4. Bootstrap 4 documentation says--

Dropped the Affix jQuery plugin. We recommend using a position: sticky polyfill instead. See the HTML5 Please entry for details and specific polyfill recommendations.

If you were using Affix to apply additional, non-position styles, the polyfills might not support your use case. One option for such uses is the third-party ScrollPos-Styler library.

Now comes the remedy for it---

Take a look at it it should help you to achieve what you want

like image 62
neophyte Avatar answered Sep 28 '22 15:09

neophyte


Affix was dropped from bootstrap v4, and they recommend using position: sticky; polyfill instead.

like image 35
Michael Coker Avatar answered Sep 28 '22 16:09

Michael Coker