我想做的就是在页面加载时触发一个函数。
似乎有一个错误在我的代码,但我不能找出它…我想我仍然是noobish.
<div class="text-one">
<p id="hi" onscroll="myFunction()"> Hi, </p>
</div>
function myFunction () {
document.getElementById("hi").style.color = "blue";
}
<div class="text-one">
<p id="hi" onscroll="myFunction()"> Hi, </p>
</div>
这段代码的意思是"当p
滚动时,执行myFunction()"。这没什么意义,除非你的p
标签中有很多文本,用户需要在div中滚动。
:
window.addEventListener('scroll', function() {
myFunction()
});
现在我们有一个监听器监听用户在窗口中滚动
并不是每个函数都应该从html标签中调用。特别是当上下文不匹配时你可以这样做,你必须首先有可滚动元素:http://codepen.io/bra1N/pen/bZOXbG
JS:
function myFunction () {
document.getElementById("hi").style.color = "blue";
}
CSS: #hi{
display: block;
overflow: scroll;
height: 400px;
}
首先,你需要确保你的元素是可滚动的,使用如下的CSS:
p#hi
{
border: 1px solid black;
width: 200px;
height: 100px;/*need to specify element height*/
overflow: scroll;
}
需要内容的高度大于CSS中定义的高度。完成这些之后,您的代码就可以了:)
参考John在你的问题中评论的链接