是否可以检测用户在页面上滚动的位置以使用纯javascript触发关键帧?
.animations {
opacity: 0;
animation: animations-keyframes 2s ease forwards;
-webkit-animation: animations-keyframes 2s ease forwards;
animation-delay: 0.5s;
-webkit-animation-delay: 0.5s;
}
@keyframes animations-keyframes {
to {
opacity: 1;
}
}
@-webkit-keyframes animations-keyframes {
to {
opacity: 1;
}
}
当用户访问某个页面的某个部分(例如内容部分)时,我希望javascript触发此事件。我不知道从哪里开始
答案 0 :(得分:1)
使用javascript,您可以将课程animations
添加到mouseenter
事件的元素,然后移除mouseleave
上的课程。由于你没有提到jQuery,我会使用简单的JS,但如果你打算做一堆DOM操作,我建议使用jQuery,因为它更容易维护。
实施例: http://jsfiddle.net/dirtyd77/z6xmuwse/2/
JAVASCRIPT:
var el = document.getElementById("animation");
el.onmouseenter = function (){
this.classList.add("animations");
};
el.onmouseleave = function (){
this.classList.remove("animations");
};
但是,您也可以使用CSS和伪:hover
完成此操作。
实施例: http://jsfiddle.net/dirtyd77/z6xmuwse/3/
CSS:
.animations:hover {
opacity: 0;
animation: animations-keyframes 2s ease forwards;
-webkit-animation: animations-keyframes 2s ease forwards;
animation-delay: 0.5s;
-webkit-animation-delay: 0.5s;
}
@keyframes animations-keyframes {
to {
opacity: 1;
}
}
@-webkit-keyframes animations-keyframes {
to {
opacity: 1;
}
}
希望这有帮助,如果您有任何问题,请告诉我们!
答案 1 :(得分:1)
当滚动到页面的某些部分时,Waypoints可用于触发事件。 http://imakewebthings.com/waypoints/
简单来说,为滚动事件创建事件侦听器 - 向下滚动页面的距离以及元素与页面顶部的距离进行比较。如果用户滚动超出元素(距离滚动>元素距页面顶部的距离),则会触发事件