向下滚动事件5次

时间:2015-11-26 12:36:30

标签: javascript jquery html css

所以我要做的是将固定的背景图像更改4次(一次滚动 - 一次图像更改),第四次图像启动后,带图像的div变为“相对”,因此我可以向下滚动到网站上的其他内容(当我向上滚动时,图像会再次固定,并在反向连续变化)。 我决定使用这个代码,但我不知道如何让它适用于我的5个卷轴

  var lastScrollTop = 0;
  $(window).scroll(function(event){
      var st = $(this).scrollTop();
      if (st > lastScrollTop){
          $("#backroundimage").addClass("backgroundimage1");  //down scroll code
      } else {
          $("#backroundimage").removeClass("backgroundimage1");  //up scroll code
      }
      lastScrollTop = st;
  });

我试图实现的功能性的一个很好的例子是http://airnauts.com/,在完成滚动到顶部区域之后,网站向下滚动到其余内容,反之亦然

3 个答案:

答案 0 :(得分:0)

你可以试试像

这样的东西
if (discount_div.indexOf("percent") > -1) 
{
discount_div = discount_div.replace("   percent off ", "");
}

else if (discount_div.indexOf("Rs") > -1) 
{
discount_div = discount_div.replace("  Rs off ", "");
}

else if (discount_div=='0') 
{
discount_div = discount_div
}

答案 1 :(得分:0)

您的代码无法正常工作,因为您的var lastScrollTop无法与st结合,因为她未定义。更多这个第一个变量是无用的。刚刚在循环中定义了一个变量并进行了不同的测试:

    @Override
    public Predicate toPredicate(Root<P_person> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {

        Expression<Boolean> contains = criteriaBuilder.function("CONTAINS", Boolean.class, root.get(P_person_.firstName), criteriaBuilder.literal(name));
        return criteriaBuilder.and(contains);

    }

答案 2 :(得分:0)

在再次阅读问题后,我想我明白了你想做什么(我无法打开你给出的链接)。

问题是,如果你想要一个顶部用滚动改变其背景,你可以写下这样的东西:

$(document).ready(function(){
    var numberofscroll = 0;
    var lastScrollTop = 0;
    $("#out").scroll(function(){
        var st = $(this).scrollTop();
        (st > lastScrollTop) ? numberofscroll++ : numberofscroll--;
        if (numberofscroll<6){
            change_background(numberofscroll);
        }
    });
    lastScrollTop = st;
});

这是我做的一个工作示例:https://jsfiddle.net/frqL0y6s/

如果你想要这个&#39;顶部&#39;在最后一次滚动之后消失,你做云:

$("#out").scroll(function(){
    var st = $(this).scrollTop();
    (st > lastScrollTop) ? numberofscroll++ : numberofscroll--;
    if (numberofscroll<6){
        change_background(numberofscroll);
    }
    else{
        $(this).remove();
    }
});