diff options
Diffstat (limited to 'examples/demos/src')
-rw-r--r-- | examples/demos/src/main/scala/scrollmenu/Controller.scala | 2 | ||||
-rw-r--r-- | examples/demos/src/main/scala/scrollmenu/ScrollMenu.scala | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/examples/demos/src/main/scala/scrollmenu/Controller.scala b/examples/demos/src/main/scala/scrollmenu/Controller.scala index 80e20eb..d359138 100644 --- a/examples/demos/src/main/scala/scrollmenu/Controller.scala +++ b/examples/demos/src/main/scala/scrollmenu/Controller.scala @@ -34,7 +34,7 @@ object Controller{ scrollSpy.domTrees.map(_.value.frag) ).render - def updateScroll() = scrollSpy(main.scrollTop + main.clientHeight) + def updateScroll() = scrollSpy(main.scrollTop) val expandIcon = i(cls := "fa fa-caret-down").render val expandLink = a( diff --git a/examples/demos/src/main/scala/scrollmenu/ScrollMenu.scala b/examples/demos/src/main/scala/scrollmenu/ScrollMenu.scala index 7c4fb78..29c44a6 100644 --- a/examples/demos/src/main/scala/scrollmenu/ScrollMenu.scala +++ b/examples/demos/src/main/scala/scrollmenu/ScrollMenu.scala @@ -77,7 +77,7 @@ class ScrollSpy(structure: Tree[String], } def walkTree(tree: Tree[MenuNode]): Boolean = { val Tree(MenuNode(menuItem, itemId, start, end), children) = tree - val before = headers(start) < threshold + val before = headers(start) <= threshold val after = (end >= headers.length) || headers(end) > threshold val win = before && after @@ -96,7 +96,8 @@ class ScrollSpy(structure: Tree[String], // This means it's the leaf element, because it won but there // aren't any children which won, so it must be the actual leaf tree.children.foreach(_.value.frag.classList.remove("selected")) - dom.location.hash = itemId + if (dom.location.hash != itemId) + dom.location.hash = itemId scroll(menuItem.children(0)) } |