当页面上的某个点通过时,显示div

Fra*_*sca 11 html javascript css jquery show

不知道从哪里开始这个真的.有没有人知道一种方法,一旦页面上的某个div滚动过去,就会从display:none(或其他类似的东西)进行div更改?

Chr*_*ris 30

首先,给你div一个ID - 例如dvid,假设另一个div(你想要检测后滚动)有一个ID othdiv.然后你可以做这样的事情:

$(document).ready( function() {
    $("#dvid").hide(); //hide your div initially
    var topOfOthDiv = $("#othdiv").offset().top;
    $(window).scroll(function() {
        if($(window).scrollTop() > topOfOthDiv) { //scrolled past the other div?
            $("#dvid").show(); //reached the desired point -- show div
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

微小的小jsFiddle演示:微小的链接.

  • @Tom这只是一个大纲; 不打算成为一个可以复制粘贴的代码:) (3认同)

sac*_*een 5

在窗口的onscroll中,从页面顶部获取当前滚动位置以及div的位置,并相应地显示/隐藏您的元素.

window.onscroll = function (oEvent) {
  var mydivpos = document.getElementById("mydiv").offsetTop;
  var scrollPos = document.getElementsByTagName("body")[0].scrollTop;

  if(scrollPos >= mydivpos)
    document.getElementById("noshow").className = "";
  else
    document.getElementById("noshow").className = "hidden";
};
Run Code Online (Sandbox Code Playgroud)

演示