Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.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
jQuery css修复了左侧但绝对顶部_Jquery_Css_Jquery Ui_Css Position - Fatal编程技术网

jQuery css修复了左侧但绝对顶部

jQuery css修复了左侧但绝对顶部,jquery,css,jquery-ui,css-position,Jquery,Css,Jquery Ui,Css Position,我一直在最艰难的时候得到一个元素被固定在页面的左侧,但也能够上下滚动 我已经尝试过将左位置更改为$(window).scrollLeft()的方法,但这会产生一个非常不稳定的动画 我要找的是与这把小提琴相反的东西,但我无法让它发挥作用: 请注意,此div固定在顶部,但不在左侧。我要找的是相反的,固定在左边,而不是顶部。有什么想法吗 我试着编辑这把小提琴,但无法使它工作。这可以: var leftInit = $(".scroll_fixed").offset().left; var top =

我一直在最艰难的时候得到一个元素被固定在页面的左侧,但也能够上下滚动

我已经尝试过将左位置更改为$(window).scrollLeft()的方法,但这会产生一个非常不稳定的动画

我要找的是与这把小提琴相反的东西,但我无法让它发挥作用:

请注意,此div固定在顶部,但不在左侧。我要找的是相反的,固定在左边,而不是顶部。有什么想法吗

我试着编辑这把小提琴,但无法使它工作。

这可以:

var leftInit = $(".scroll_fixed").offset().left;
var top = $('.scroll_fixed').offset().top - parseFloat($('.scroll_fixed').css('margin-top').replace(/auto/, 0));

$(window).scroll(function(event) {
  var x = $(this).scrollLeft();
  var y = $(this).scrollTop();

  // whether that's below the form
  if (x >= leftInit) {
      // if so, ad the fixed class
      $('.scroll_fixed').addClass('fixed');
  } else {
      // otherwise remove it
      $('.scroll_fixed').removeClass('fixed');
  }

  $(".scroll_fixed").offset({
      left: x + leftInit
  });
});
编辑同时更改

.scroll_fixed.fixed {
  position:absolute;

也许这就是你想要的


忘了JS吧

它对我不起作用…它被固定在左侧,但也是顶部,我只希望它固定在左侧而不是顶部。如果窗口水平滚动一半,然后垂直滚动而不返回水平滚动到0,会发生什么情况?这可能是一个简化的示例。对于OP认为与问题无关的部分功能,JS可能是必需的,但这是一个很好的答案。
.scroll_fixed.fixed {
  position:absolute;
.scroll_fixed {
    position: relative;
    float: left;
    left: 0;
}
.scroll_fixed div {
    float: left;
    position: relative
}