File tree Expand file tree Collapse file tree 3 files changed +41
-6
lines changed Expand file tree Collapse file tree 3 files changed +41
-6
lines changed Original file line number Diff line number Diff line change @@ -680,7 +680,7 @@ exports.default = {
680
680
scrollactiveItem . classList . remove ( this . activeClass ) ;
681
681
var target = document . getElementById ( scrollactiveItem . hash . substr ( 1 ) ) ;
682
682
683
- if ( distanceFromTop >= target . offsetTop - this . offset ) {
683
+ if ( distanceFromTop >= this . getOffsetTop ( target ) - this . offset ) {
684
684
currentItem = scrollactiveItem ;
685
685
}
686
686
}
@@ -842,7 +842,7 @@ exports.default = {
842
842
}
843
843
844
844
var vm = this ;
845
- var targetDistanceFromTop = document . getElementById ( event . target . hash . substr ( 1 ) ) . offsetTop ;
845
+ var targetDistanceFromTop = this . getOffsetTop ( document . getElementById ( event . target . hash . substr ( 1 ) ) ) ;
846
846
var startingY = window . pageYOffset ;
847
847
var difference = targetDistanceFromTop - startingY ;
848
848
var start = null ;
@@ -870,6 +870,24 @@ exports.default = {
870
870
}
871
871
872
872
window . requestAnimationFrame ( step ) ;
873
+ } ,
874
+
875
+
876
+ /**
877
+ * Gets the top offset position of an element in the document.
878
+ *
879
+ * @param {Element } element
880
+ * @return {Number }
881
+ */
882
+ getOffsetTop : function getOffsetTop ( element ) {
883
+ var yPosition = 0 ;
884
+
885
+ while ( element ) {
886
+ yPosition += element . offsetTop ;
887
+ element = element . offsetParent ;
888
+ }
889
+
890
+ return yPosition ;
873
891
}
874
892
} ,
875
893
You can’t perform that action at this time.
0 commit comments