Tag: scrolltop

如何获得不使用jQuery的元素的offset()。top值?

我正在使用Angular框架编写一个单页面的应用程序。 我是新来的。 我已阅读本指南以帮助我理解jQuery和Angular之间的根本区别,我希望尽可能地遵循此指南,而不要使用jQuery。 除了jQuery帮助解决一些浏览器的不兼容问题,并提供了一个有用的函数库,就像在$('element').offset().top能够知道窗口顶部元素的顶部位置一样$('element').offset().top 。 没有简单的Javascript似乎能够接近不重写这个function,在这一点上使用jQuery或jQuery像库是不是一个更好的主意? 具体来说,我试图做的是build立一个指令,修复一个元素的位置,一旦它的顶部被滚动到窗口中的某个位置。 以下是它的样子: directives.scrollfix = function () { return { restrict: 'C', link: function (scope, element, $window) { var $page = angular.element(window) var $el = element[0] var elScrollTopOriginal = $($el).offset().top – 40 $page.bind('scroll', function () { var windowScrollTop = $page[0].pageYOffset var elScrollTop = $($el).offset().top if ( windowScrollTop > elScrollTop – […]

运行ScrollTop以ID为单位的偏移量

尝试使浏览器滚动到具有添加偏移量的特定ID – $('html, body').animate({scrollTop: $('#contact').offset().top}, 'slow'); 我需要做的是设置-100px的偏移量。 我怎样才能做到这一点?

jQuery .scrollTop(); +animation

当单击button时,我将页面设置为滚动到顶部。 但是,首先我使用if语句来查看页面顶部是否未设置为0.然后,如果不是0,则使页面动起来滚动到顶部。 var body = $("body"); var top = body.scrollTop() // Get position of the body if(top!=0) { body.animate({scrollTop:0}, '500'); } 现在棘手的部分是animation页面滚动到顶部后的东西。 所以我的下一个想法是,找出页面的位置是什么。 所以我使用控制台日志来查明。 console.log(top); // the result was 365 这给了我365的结果,我猜这是我在滚动到顶部之前的位置号。 我的问题是如何将位置设置为0,以便我可以添加另一个页面在0时运行的animation? 谢谢!

$(window).scrollTop()vs $(document).scrollTop()

有什么区别: $(window).scrollTop() 和 $(document).scrollTop() 谢谢。