Element option not working when target id isn't a direct child of element
Opened this issue · 0 comments
HugoPoi commented
When using element option and the target id isn't a direct child of element.
<div class="container-with-scroll">
<h2 id="working-target"></h2>
<a><img id="target"></a>
</div>
// This working great :
$('#working-target').animatescroll({ element: '.container-with-scroll', padding: 20 });
// This not working :
$('#target').animatescroll({ element: '.container-with-scroll', padding: 20 });
Problem is here https://github.com/ramswaroop/animatescroll.js/blob/master/animatescroll.js#L162
The use of this.parent()
causing the issue because the parent of target is <a>
not the .container-with-scroll
.
The fix:
$(opts.element).stop().animate({ scrollTop: this.offset().top - $(opts.element).offset().top + $(opts.element).scrollTop() - opts.padding}, opts.scrollSpeed, opts.easing);
I can do a PR if needed.