Javascript jquery中具有偏移顶部的奇怪问题

Javascript jquery中具有偏移顶部的奇怪问题,javascript,jquery,scrolltop,Javascript,Jquery,Scrolltop,通常我能找出这些东西,但根据我所看到的,这段代码的实际偏移量大约为700像素 我在这里所做的基本上是锁定一个按钮,当你滚动过去时,它就在一个固定的标题下。测试控制台输出时,我可以看到,根据这段代码,按钮距离顶部大约713像素。然而,它实际上距离顶部约1300像素。在另一个元素的中间大概有713个像素的引用,所以从逻辑上讲,我不可能得到这个数字。 这是我的密码 window.contOffset = jQuery('#cont-step3').offset(); window.co

通常我能找出这些东西,但根据我所看到的,这段代码的实际偏移量大约为700像素

我在这里所做的基本上是锁定一个按钮,当你滚动过去时,它就在一个固定的标题下。测试控制台输出时,我可以看到,根据这段代码,按钮距离顶部大约713像素。然而,它实际上距离顶部约1300像素。在另一个元素的中间大概有713个像素的引用,所以从逻辑上讲,我不可能得到这个数字。 这是我的密码

    window.contOffset = jQuery('#cont-step3').offset();
    window.contWidth = jQuery('#cont-step3').outerWidth();
    jQuery(window).scroll(function(){
        if(window.contOffset.top<jQuery(document).scrollTop()){
            jQuery('#cont-step3').css({
                position:'fixed',
                top:'70px',
                left:window.contOffset.left+'px',
                width:window.contWidth+'px'
            });
        }else{
            jQuery('#cont-step3').removeAttr('style');
        }
        console.log(window.contOffset,jQuery(document).scrollTop());
    });
    jQuery('#core-values2').sortable({
        update:function(event,ui){
            updateValues();
        }
    });
window.contOffset=jQuery('#cont-step3').offset();
window.contWidth=jQuery(“#cont-step3”).outerWidth();
jQuery(窗口).滚动(函数(){

如果(window.contOffset.top问题不仅仅是检查dom是否完成,而是在每次更改dom时重新初始化事件,那么任何其他可能更改属性(如菜单)的javascript都会抛出滚动事件

我成功地将函数连接到remove,然后在每次对任何内容进行更改时重新初始化该事件

jQuery(window).off('scroll').on('scroll',function(){
        if(window.contOffset.top<jQuery(document).scrollTop()){
            jQuery('#cont-step3').css({
                position:'fixed',
                top:'70px',
                left:window.contOffset.left+'px',
                width:window.contWidth+'px'
            });
        }else{
            jQuery('#cont-step3').removeAttr('style');
        }
        console.log(window.contOffset,jQuery(document).scrollTop());
    });
jQuery(窗口).off('scroll').on('scroll',function()){

如果(window.contOffset.top)您能在处重现问题吗?我不确定,计算中可能有与完整网站代码的连接(其他元素的边框、边距等)。因此在这种情况下,JSFIDLE可能不会看到相同的问题。不过,我将把代码放在一起,看看它是否有效