我在Angular中创建了以下组件。 它基本上是一种树组件。
请注意以下事项:
<div id="...">
)然而,这个组件工作正常。 我不知道如何添加以下功能:
<div>
可见。如何使用javascript或打字稿来完成?
我想使用这个javascript是更好的导航工具的基础。
此外,当新节点添加到树的背面时,此时用户必须手动向右滚动。我想让它立即可见,自动显示。
这些是我真正的目标:)
答案 0 :(得分:0)
如果您需要的唯一滚动机制是自动滚动机制,我会避免尝试完全使用浏览器的内置滚动机制,只需使用节点的ElementRef获取相对于其容器的水平位置,然后应用CSS 'translate'根据需要移动它。使用CSS过渡和动画让它看起来“漂亮”会更容易。但是,如果您仍然需要手动滚动行为(即,用户仍需要能够使用滚动条滚动),您还必须编写滚动条指令/解决方案,这可能最终比问题需要更多的努力。
此页面有一种用于水平滚动的hacky变通方法 - https://css-tricks.com/pure-css-horizontal-scrolling/
过去使用'scrollTop'和'scrollLeft'的问题是你不能将转换应用于这些属性,所以它们最终看起来非常生涩而没有在javascript中实现自定义缓动函数。