Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 框大小:边框框在滚动的JS固定位置边栏上导致错误_Javascript_Jquery_Css - Fatal编程技术网

Javascript 框大小:边框框在滚动的JS固定位置边栏上导致错误

Javascript 框大小:边框框在滚动的JS固定位置边栏上导致错误,javascript,jquery,css,Javascript,Jquery,Css,我有一些javascript,它将一个固定的类应用到我的侧边栏中,因此当你滚动时,菜单将与你同在。Stackoverflow在侧栏中有类似的问题 $(function() { var top = $('.side-menu').offset().top - parseFloat($('.side-menu').css('margin-top').replace(/auto/, 0)); $(window).scroll(function (event) {

我有一些javascript,它将一个固定的类应用到我的侧边栏中,因此当你滚动时,菜单将与你同在。Stackoverflow在侧栏中有类似的问题

    $(function() {      
    var top = $('.side-menu').offset().top - parseFloat($('.side-menu').css('margin-top').replace(/auto/, 0));
    $(window).scroll(function (event) {
      // what the y position of the scroll is
      var y = $(this).scrollTop();

      // whether that's below the form

      if (y >= top) {

        // if so, ad the fixed class
        $('.side-menu').addClass('fixed');
        $('body').addClass('fixed-sidebar');

      } else {
        // otherwise remove it
        $('.side-menu').removeClass('fixed');
        $('body').removeClass('fixed-sidebar');
      }
    });
});
在我的CSS中,我有
*{box size:border box;}
,这会导致else触发,页面跳转。当我删除框大小时,“固定”菜单按需要工作

我的问题是

  • 有没有其他方法可以实现我的目标
  • 是否有办法取消设置
    框大小
    属性
编辑


使用此链接进行演示:在不同高度调整浏览器窗口的大小,您将看到问题

当然,您可以随时执行
(选择器){box size:content box}
。(这将“取消”您的
盒子大小调整
…)

您能提供一把小提琴吗?您始终可以覆盖导致您悲伤的元素上的框大小属性。是否存在类似于框大小:无的情况?@Dan无框大小只是更改浏览器相对于宽度和高度计算填充和边框的方式。下面是关于框大小的更多信息:@Jrod我可以用小提琴复制,所以我创建了一个快速测试页面。