视差导航菜单

时间:2016-07-05 18:36:30

标签: html css parallax

这是基于这个问题的问题:parallax navigation menu title to show

所以我能够让它显示菜单的标题,但是我想知道无论如何我可以改变css以在人在特定标题部分时改变菜单。

目前在前一个问题的示例中,它有一种颜色(蓝色)。我正在考虑让它对圆圈具有透明效果,或者改变成不同的颜色让他们知道它们在网页的特定部分。

谢谢!

1 个答案:

答案 0 :(得分:1)

你可以使用jQuery滚动功能来检测你的某个部分何时在视图中,就像这样!

var thisScroll = 0, lastScroll = 0;
$(window).scroll(function(){
  //Detect your current scroll position
  thisScroll = $(window).scrollTop();

  //Loop through each article
  $('#content article').each(function(){

    //Get the element's distance from top of the viewport, including scroll
    var myPos = $(this).offset().top - thisScroll;

    //Scrolling down
    if(thisScroll > lastScroll){
      if(myPos > 0 && myPos < $(window).height()){
        console.log($(this).attr('id'));
      }
    }
    //Scrolling up
    else{
      if(myPos > -$(window).height() && myPos < 0){
        console.log($(this).attr('id'));
      }
    }

  });

  //If lastScroll is higher than thisScroll, the user must have scrolled up
  lastScroll = thisScroll;
});

滚动功能只是检查元素是否在视口中向下滚动(在0和屏幕高度之间)。如果您向上滚动,则会翻转比较,因为偏移量是从元素顶部计算的 - 因此您需要查找0到负视点高度之间的偏移量。如果这有意义,请告诉我!