简体   繁体   English

当在文档末尾添加视口高度和窗口scrollTop位置时,jQuery $(document.body).height()不相同

[英]Jquery $(document.body).height() is not same when viewport height is added with the window scrollTop position, at the end of document

How is the document height is smaller than the window scroll top value + the viewport height, when I scrolled down to the end of document. 当我向下滚动到文档末尾时,文档高度如何小于窗口滚动顶部值+视口高度。 Should not they be the same? 他们不应该一样吗? I am struggling with this for last couple of hours but still not getting the hang of it. 我在最后几个小时内都在为此苦苦挣扎,但仍无法掌握。

$(function(){               
            vpw = parseFloat($(window).width());
            vph = parseFloat($(window).height());
            appearh = parseFloat(vph*0.4);
            dh  = $(document).height();
            footerh = $('#footer-area').height();
            footTop = dh - footerh;
            resizeDiv(vpw, vph, appearh);


            $(window).scroll(function(){
                scrollPos = $(window).scrollTop();
                jj = vph + scrollPos;
                console.log(scrollPos + '+' + vph + '=' + jj + ' is (at the bottom) ' + dh);
                if(scrollPos > appearh){
                    addWin = parseFloat(dh - vph);
                    $('#trends').removeClass('hidetrends',2000).addClass('showtrends',2000);
                    /*console.log( dh + '>' + scrollPos + ';' + addWin );
                    if(scrollPos >= 1672){
                        $('#trends').css('position', 'relative');
                    }else if(scrollPos <= 1672){
                        $('#trends').css('position', 'fixed');
                    }*/
                }else{
                    $('#trends').removeClass('showtrends',2000).addClass('hidetrends',2000);
                }

            });
        });
        window.onresize = function(event) {
            resizeDiv(vpw, vph, appearh);
        }
        function resizeDiv(vpw, vph, appearh) {
            $("#full-width").css({"height": vph + "px"});
        }

在此处输入图片说明

Try this: 尝试这个:

$(window).scroll(function(){
     vpw = parseFloat($(window).width());
         vph = parseFloat($(window).height());
         appearh = parseFloat(vph*0.4);
         dh  = $(document).height();
         footerh = $('#footer-area').height();
         footTop = dh - footerh;
         resizeDiv(vpw, vph, appearh);
         scrollPos = $(window).scrollTop();
         jj = vph + scrollPos;
         console.log(scrollPos + '+' + vph + '=' + jj + ' is (at the bottom) ' + dh);
....

The reasoning behind this is I think it'd be wise to actually set your variables as you scroll 这背后的原因是我认为在滚动时实际设置变量是明智的

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM