如何1个格更快/搬过来一个div时,页面滚动(How to move 1 div faster/ov

2019-08-16 20:45发布

我看到这个效果在这里 。 网页的主要内容部分时页面滚动移过和一个div以上。

我尝试使用视差效果再现这种效果,但在vain.The问题是使用视差,我可以在同一格内改变2个物体的速度从only.Also之余,我将不得不全部放一些unncessary标签页面使脚本工作。

有没有更简单(或工作)的方式来达到这种效果?非常感谢

Answer 1:

你可以用CSS做到这一点 。

#head, #subHead{
    position: fixed;           
    height: 80px;    
    width: 100%;
    display: block;
    left: 0;
    top: 0;
    z-index: 10;         /* on top of all */
}

#subHead{
    z-index: 4;          /* below all */
    top: 80px;           /* height of the top div */
}

#content{
    position: relative;
    z-index: 6;          /* below the top div, but above the one below it */
    margin-top: 160px;   /* the height of the two divs above combined */
}

而为了让小标题滚动速度较慢:

window.onscroll = function(ev){
  var subHead = document.getElementById('subHead'),
      topHeight = document.getElementById('head').offsetHeight;

  subHead.style.top = (topHeight - document.body.scrollTop / 4) + 'px';
};    

jQuery的:

$(window).on('scroll', function(){  
  $('#subHead').css('top', ($('#head').height() - $('body').scrollTop() / 4));
}); 


Answer 2:

有一定似乎有些视差至少回事。 我没有经历过的标记看起来不够彻底,但要注意的一件事是,与图形和内容区域(与广告的区域沿)的面积是兄弟<div>秒。

只是头顶上,用一些CSS position ING和z-index ING,这将会是一个位直接地呈现所述内容<div>图形上面<div> 似乎只有图形<div>正在通过视差滚动控制。 如果这是很有意义的。



Answer 3:

你可以在你的JS第二个div你的第一个div,并设置滚动位置附加onscroll事件。

<div id="div1" onscroll="OnScrollDiv()">
    <div id="div2"></div>
</div>

JavaScript的:

function OnScrollDiv () {
    var div1 = document.getElementById("div1");
    var div2 = document.getElementById("div2");
    div2.scrollTop = div1.scrollTop * 2;
}

在这里更多信息: http://help.dottoro.com/ljurkcpe.php http://help.dottoro.com/ljnvjiow.php



文章来源: How to move 1 div faster/over a div when the page is scrolled