在JQuery中,slideDown()方法是否也可以将页面向下滚动?

Mal*_*har 11 jquery

应用于div的slideDown执行slideDown但不向下滚动页面并且div向下滑动div仍然隐藏在视图之外.有没有办法滚动页面,以便用户可以查看div?

red*_*are 22

这里快速演示

基本上你需要的只是

 $('html, body').animate({ 
      scrollTop: $('#yourDiv').offset().top 
  }, 3000); 
Run Code Online (Sandbox Code Playgroud)


Jam*_*mes 8

$.extend($.expr[':'],{
    inView: function(a) {
        var st = (document.documentElement.scrollTop || document.body.scrollTop),
            ot = $(a).offset().top,
            wh = (window.innerHeight && window.innerHeight < $(window).height()) ? window.innerHeight : $(window).height();
        return ot > st && ($(a).height() + ot) < (st + wh);
    }
});

if ($('#whatever').is(':not(:inView)')) {
    $('html,body').animate({ 
         scrollTop: $('#whatever').offset().top 
    }, 3000);
}
Run Code Online (Sandbox Code Playgroud)

  • +1哇..这是我见过的最具可读性的JS! (2认同)