diff --git a/packages/index-bar/index.js b/packages/index-bar/index.js index 4bcefdc29..5b8f297c4 100644 --- a/packages/index-bar/index.js +++ b/packages/index-bar/index.js @@ -136,15 +136,19 @@ export default sfc({ const { clientX, clientY } = event.touches[0]; const target = document.elementFromPoint(clientX, clientY); - this.scrollToElement(target); + if (target) { + const { idx } = target.dataset; + + /* istanbul ignore else */ + if (this.touchActiveIdx !== idx) { + this.touchActiveIdx = idx; + this.scrollToElement(target); + } + } } }, scrollToElement(element, setActive) { - if (!element) { - return; - } - const { index } = element.dataset; if (!index) { return; @@ -178,6 +182,7 @@ export default sfc({ {index} diff --git a/packages/index-bar/test/__snapshots__/demo.spec.js.snap b/packages/index-bar/test/__snapshots__/demo.spec.js.snap index 7254b82c2..da12ad6c0 100644 --- a/packages/index-bar/test/__snapshots__/demo.spec.js.snap +++ b/packages/index-bar/test/__snapshots__/demo.spec.js.snap @@ -13,7 +13,7 @@ exports[`renders demo correctly 1`] = `
-
ABCDEFGHIJKLMNOPQRSTUVWXYZ
+
ABCDEFGHIJKLMNOPQRSTUVWXYZ
A
diff --git a/packages/index-bar/test/__snapshots__/index.spec.js.snap b/packages/index-bar/test/__snapshots__/index.spec.js.snap index 875e11e66..72f3bcb52 100644 --- a/packages/index-bar/test/__snapshots__/index.spec.js.snap +++ b/packages/index-bar/test/__snapshots__/index.spec.js.snap @@ -2,7 +2,7 @@ exports[`custom anchor text 1`] = `
-
ABCDEFGHIJKLMNOPQRSTUVWXYZ
+
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Title A