【发布时间】:2017-10-17 09:23:18
【问题描述】:
当某个元素出现时,我希望整个网站的背景从白色变为黑色。因此,当您滚动元素时,背景会变为黑色。当您向上滚动时,我希望页面的背景颜色变回白色。谢谢!
HTML:
<div id="#block-yui_3_17_2_2_1495044195108_28541" class="colorChange">
<script>
$(window).scroll(function () {
$('#block-yui_3_17_2_2_1495044195108_28541').each(function () {
var topOfWindow = $(window).scrollTop(),
bottomOfWindow = topOfWindow + $(window).height();
var imagePos = $(this).offset().top;
if(imagePos <= bottomOfWindow-100 && imagePos >= topOfWindow-250){
$(this).addClass('colorChange');
}else{
$(this).removeClass('colorChange');
}
});
});
</script>
CSS:
.colorChange{
#siteWrapper {
-webkit-animation-name: colorChange;
-webkit-animation-duration: 1s;
-webkit-animation-timing-function: ease-in;
animation-name: colorChange;
animation-duration: 1s;
animation-timing-function: ease-in;
}}
@-webkit-keyframes colorChange {
0% {
background-color:black;
}
100.0% {
background-color:black;
}
}
@keyframes colorChange {
0% {
background-color:black;
}
100.0% {
background-color:black;
}
}
【问题讨论】:
-
请注意,您的 id 不应包含“#” id="block-yui_3_17_2_2_1495044195108_28541"
-
我正在使用“如何添加动画”文章中的一些代码,他们列出的步骤表明“#”应该在 id 中。
-
不应该...
-
好吧,当我拥有它时,我在那里与其他动画一起工作正常。即使我把它拿出来,我这里的代码也不起作用。所以继续...
-
如果您能告诉我们什么不起作用或您想知道什么,那就太好了。或者至少创建一个小提琴,我们可以在其中尝试您的代码。
标签: javascript jquery html css