使用JavaScript/JQuery在滚动事件中只显示文本

nhhxz33t  于 2022-11-03  发布在  jQuery
关注(0)|答案(1)|浏览(141)

我正在尝试创建一个包含隐藏文本的页面,只有当有人滚动时才会显示。
当某人滚动经过一个div时,该文本应该消失,而新的文本将显示出来。
我只能找到垂直或水平滚动等解决方案。
我已经使用jsFiddle创建了一个simpler version,但是无论我向JS部分添加什么代码,似乎都不起作用。

以下是CSS:

body {
    background-color: #f8f8f8;
    margin: 5px;
    font-family: arial, sans-serif;
}

div#mainText {
    width: 960px;
    margin: o auto;
    padding: 10px;
    background-color: #f8f8f8;
    font-size: 1em;
}

h1 {
    text-transform:uppercase;
    color: gray;
}

h2 {
    font-family:"Times New Roman", Times, serif;
    font-size:2.5em;
}

.partOne
{
    color: gray;
    display:none;
}

.partTwo
{
    color: gray;
    display:none;
}

.partThree
{
    color: gray;
    display:none;
}

.kicker
{
    color: gray;
    display:none;
}

以下是HTML:

<h1 id="preHead">Catchy Title</h1>
<h2 id="headline">Headline goes here</h2>
<P></p>
<p id="introBlurb">A very compelling blurb here. Praesent volutpat rhoncus purus,         ullamcorper dapibus ante pulvinar non. Maecenas fringilla justo nec justo blandit non rhoncus nunc elementum.</p>

<div class="partOne">
    <p>Part one here. This appears on first scroll event.</p>
</div>

<div class="partTwo">
    <p>Part two here. This appears on second scroll event.</p>
</div>   

<div class="kicker">
    <p>Kicker here. This appears on 3rd scroll event.</p>
</div>​

JavaScript/Jquery:

$(window).scroll(function () { 
    $("kicker").css("display"); 
});

到目前为止还没什么效果。任何帮助都非常感谢。

c9x0cxw0

c9x0cxw01#

你的例子不够长,所以我在第一个元素中添加了一些额外的文本。主要的问题是你的jQuery。你调用了$('kicker').css('display'),但它不起作用。
选择器'kicker'需要更改为'.kicker',因为它是一个类,我将.css('display')更改为.show(),这样就可以正常工作了。
工作示例:http://jsfiddle.net/x8tzg/24/
注意:如果您想要侦测何时到达某个卷动点,您可以在scroll事件中加入程式码,以检查$(window).scrollTop()$(compareElement).offset().top的比较,如下所述:是的。

相关问题