kswedberg / jquery-smooth-scroll

Automatically make same-page links scroll smoothly
MIT License
1.97k stars 427 forks source link

Move exclusion logic from click event to function #75

Open brazilianldsjaguar opened 9 years ago

brazilianldsjaguar commented 9 years ago

I was working with Twitter Bootstrap 3, particularly with their tabbing features. Unfortunately, the only way to 'exclude' anything is to do so on the $.fn.smoothScroll, which the site I was working with didn't use -- they rolled their own click-event handler to call the $.smoothScroll function. Thus, there was no way for me tell the plugin that I didn't want it to smooth scroll to tab contents, even with the $.smoothScroll('options', obj) overrides.

The change, then, moves that exclusion logic (almost as-is) from the click even handler to the smoothScroll function. That way, whether you indicate it in the $.fn.smoothScroll or come in later and apply it to optionOverrides, your exclusion will be honored.

(Note: This is my first "major" pull request, not sure if I did it right or built it right, etc, please forgive any shortcomings (and I'm of course open to your feedback!))

brazilianldsjaguar commented 9 years ago

To be clear, this allows the flexibility for a developer to exclude items from smooth scrolling, even if the library is 'forced' upon them via other means (or otherwise do not have control of the implementation of the library).