Maison > Questions et réponses > le corps du texte
Si vous utilisez des événements de clic, vous pouvez utiliser l'événement pour connaître le nœud actuel.
Cependant, si l'événement n'est pas lié, comment obtenir le nœud p actuel dans p标签
<p>这是一个段落</p>
Mon exigence est que lors du défilement vers différents nœuds via la barre de défilement, v-show=true
<p ref='pBox'>
<p v-show='body.scrollTop === 当前节点.offsetTop'>这是一个段落1</p>
<p v-show='body.scrollTop === 当前节点.offsetTop'>这是一个段落2</p>
<p v-show='body.scrollTop === 当前节点.offsetTop'>这是一个段落3</p>
</p>
export default {
computed: {
body: this.$refs.pBox.offsetParent
}
}
天蓬老师2017-05-19 10:36:54
Vous pouvez utiliser des instructions personnalisées pour implémenter, Démo :
https://jsfiddle.net/fedesign...
给我你的怀抱2017-05-19 10:36:54
scrollTop
et offsetTop
sont tous deux des variables.
Pourquoi ne liez-vous pas l'événement scroll
avec le scrollTop
de body
et tous les p
requis Tous les offsetTop
sont-ils enregistrés dans données
?
Alors scrollTop
和offsetTop
都是变量。
你要不绑定scroll
事件的时候把body
的scrollTop
和所有需要的p
的offsetTop
都获取下存到data
里?
然后
<p ref='pBox'>
<p v-show='bodyScrollTop === offsetTop.p1'>这是一个段落1</p>
<p v-show='bodyScrollTop === offsetTop.p2'>这是一个段落2</p>
<p v-show='bodyScrollTop === offsetTop.p3'>这是一个段落3</p>
</p>
不过我对效果有点疑问,就是好几个p
未显示的时候他们的offsetTop
是不是同一个值。
然后我想知道你的p
rrreee
p
ne sont pas affichés, leurs offsetTop
ont la même valeur. p
? Nœud de texte ? 🎜我想大声告诉你2017-05-19 10:36:54
document.querySelector('p').childen
document.getElementByTagName('p')[0].childen
给我你的怀抱2017-05-19 10:36:54
Merci pour vos réponses, la solution finale est :
// animated bounceIn 为animated.css里的
<section class="newBlog" v-scroll-show>
<p class="title animated bounceIn">
<p class="headline">最近更新</p>
</p>
<p class="posts">
<p>文章</p>
</p>
</section>
.title, .posts {
display: none;
}
directives: {
scrollShow: {
bind: (el) => {
window.addEventListener('scroll', () => {
if (document.body.scrollTop + 400 > el.offsetTop) {
for (let i = 0; i < el.children.length; i++) {
setTimeout(() => {
el.children[i].style.display = 'block'
}, 1000 * i)
}
}
})
}
}
}