从元素滚动到另一个组件的元素
Scroll from element to an another component's element
这个问题困扰我好几天了,我一直想不通(我在 Angular 中也很新)。我的目标是在这样的组件中拥有一个元素。让我们称之为 A 元素:
<button (click)="scroll('anotherComponentsElementId')">Services</button>
函数:
scroll(id: string) {
let el = document.getElementById(id);
console.log(id);
el!.scrollIntoView();
}
然后我有另一个组件,它有我想要滚动的元素。我们称此 B 元素:
<section class="page-section" id='anotherComponentsElementId'>lets gooo</section>
如何从 A 元素滚动到 B 元素?
目前代码不起作用,因为在函数中 id 为空。你能帮帮我吗?
您可以尝试在您的按钮中添加onclick="location.href='#elementid'"
。
<input id='top' type="button" onclick="location.href='#A'" value="go to A" />
<input type="button" onclick="location.href='#B'" value="go to B" />
<input type="button" onclick="location.href='#C'" value="go to C" />
<br><br>
<section id='A' style='background:red'>section 1</section>
<p>line</p>
<p>line</p>
<p>line</p>
<p>line</p>
<input type="button" onclick="location.href='#top'" value="back to top" />
<br><br>
<section id='B' style='background:green'>section 2</section>
<p>line</p>
<p>line</p>
<p>line</p>
<p>line</p>
<input type="button" onclick="location.href='#top'" value="back to top" />
<br><br>
<section id='C' style='background:blue'>section 3</section>
<p>line</p>
<p>line</p>
<p>line</p>
<p>line</p>
<input type="button" onclick="location.href='#top'" value="back to top" />
<br><br><br>
这个问题困扰我好几天了,我一直想不通(我在 Angular 中也很新)。我的目标是在这样的组件中拥有一个元素。让我们称之为 A 元素:
<button (click)="scroll('anotherComponentsElementId')">Services</button>
函数:
scroll(id: string) {
let el = document.getElementById(id);
console.log(id);
el!.scrollIntoView();
}
然后我有另一个组件,它有我想要滚动的元素。我们称此 B 元素:
<section class="page-section" id='anotherComponentsElementId'>lets gooo</section>
如何从 A 元素滚动到 B 元素? 目前代码不起作用,因为在函数中 id 为空。你能帮帮我吗?
您可以尝试在您的按钮中添加onclick="location.href='#elementid'"
。
<input id='top' type="button" onclick="location.href='#A'" value="go to A" />
<input type="button" onclick="location.href='#B'" value="go to B" />
<input type="button" onclick="location.href='#C'" value="go to C" />
<br><br>
<section id='A' style='background:red'>section 1</section>
<p>line</p>
<p>line</p>
<p>line</p>
<p>line</p>
<input type="button" onclick="location.href='#top'" value="back to top" />
<br><br>
<section id='B' style='background:green'>section 2</section>
<p>line</p>
<p>line</p>
<p>line</p>
<p>line</p>
<input type="button" onclick="location.href='#top'" value="back to top" />
<br><br>
<section id='C' style='background:blue'>section 3</section>
<p>line</p>
<p>line</p>
<p>line</p>
<p>line</p>
<input type="button" onclick="location.href='#top'" value="back to top" />
<br><br><br>