gpt4 book ai didi

jquery - 当用户滚动到元素时,会触发动画

转载 作者:太空宇宙 更新时间:2023-11-04 08:01:28 25 4
gpt4 key购买 nike

刚开始添加效果。我的 div 对象在段落下方。我希望如果我向下滚动并转到该部分,它只会触发该事件。但是,它仅在页面加载时触发。我怎样才能做到这一点?我搜索了脚本中的代码,但正如我之前所说,它只是在页面加载时触发。

HTML:

   <!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="bocss.css">
</head>
<body>
<p>"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore <br>
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. <br>
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat <br>
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."</p> <br>
<p>"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore <br>
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. <br>
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat <br>
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."</p> <br>
<p>"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore <br>
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. <br>
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat <br>
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."</p> <br>
<p>"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore <br>
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. <br>
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat <br>
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."</p> <br>
<p>"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore <br>
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. <br>
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat <br>
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."</p> <br>
<p>"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore <br>
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. <br>
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat <br>
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."</p> <br>


<div id="object" class="slideLeft">Lorem ipsum</div>

<script>
$(window).scroll(function() {
$('#object').each(function(){
var wordPos = $(this).offset().top;

var topOfWindow = $(window).scrollTop();
if (wordPos < topOfWindow+400) {
$(this).addClass("slideLeft");
}
});
});
</script>
</body>
</html>

CSS:

.slideLeft{
animation-name: slideLeft;
-webkit-animation-name: slideLeft;

animation-duration: 1s;
-webkit-animation-duration: 1s;

animation-timing-function: ease-in-out;
-webkit-animation-timing-function: ease-in-out;

visibility: visible !important;
}

@keyframes slideLeft {
0% {
transform: translateX(150%);
}
50%{
transform: translateX(-8%);
}
65%{
transform: translateX(4%);
}
80%{
transform: translateX(-4%);
}
95%{
transform: translateX(2%);
}
100% {
transform: translateX(0%);
}
}

@-webkit-keyframes slideLeft {
0% {
-webkit-transform: translateX(150%);
}
50%{
-webkit-transform: translateX(-8%);
}
65%{
-webkit-transform: translateX(4%);
}
80%{
-webkit-transform: translateX(-4%);
}
95%{
-webkit-transform: translateX(2%);
}
100% {
-webkit-transform: translateX(0%);
}
}

#object{
background-color: #fe5652;

visibility: hidden;
}

最佳答案

你需要为此使用 Javascript,查看一些 JS 示例。互联网上有很多。

关于jquery - 当用户滚动到元素时,会触发动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46984525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com