.hide和.show显示所有元素,直到用户滚动才能正常运行

时间:2013-05-18 07:17:52

标签: javascript hide show show-hide scrolltop

您好我正在使用垂直滚动网站,其中固定的中心图像(主角)隐藏和显示,具体取决于用户在页面上使用.scrolltop的位置。我唯一的问题是,当页面第一次加载时,每个中心图像立即加载并显示。一旦你开始滚动它从正确的位置开始正常工作,它似乎只在首次加载页面时发生。我在剧本中写错了什么?我认为它与.hide函数有关,直到用户滚动才激活。但我不知道如何以不同方式编写它。

谢谢。

这是网站,所以你可以看到我在说什么:

http://pixel.csueastbay.edu/3870/corzine/project1/index.html

以下是js的样本:

<script>

$(window).scroll(function() {
if ($(this).scrollTop() > 290) {
    $(".fallingman").hide();
}

if ($(this).scrollTop() < 290) {
    $(".fallingman").show();
}

});




$(window).scroll(function() {

if ($(this).scrollTop() < 290) {
    $(".fallingman2").hide();
}

if ($(this).scrollTop() > 290) {
    $(".fallingman2").show();
}
if ($(this).scrollTop() > 1200) {
    $(".fallingman2").hide();
}

});

</script>

1 个答案:

答案 0 :(得分:2)

将您想要的内容放入功能中。然后在页面加载时无条件地调用它,也在滚动处理程序中调用它。

function checkScroll() {
    var pos = $(window).scrollTop();
    if (pos > 290) {
        $(".fallingman").hide();
        $(".fallingman2").show();
    }
    if (pos < 290) {
        $(".fallingman").show();
        $(".fallingman2").hide();
    }
    if (pos > 1200) {
        $(".fallingman2").show();
    }
)

$(function() {
    checkScroll();
    $(window).scroll(checkScroll);
});