Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/42.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 将div粘贴到车窗底部_Javascript_Css_Position_Affix - Fatal编程技术网

Javascript 将div粘贴到车窗底部

Javascript 将div粘贴到车窗底部,javascript,css,position,affix,Javascript,Css,Position,Affix,我在想,当窗口滚动到看不见的地方时,如何在窗口底部固定一个div。我知道你可以用twitter引导来实现,但我不想使用库 到目前为止,我有一些我认为可以使用的jQuery: $(window).scroll(function() { if (((($('.show_postQuestion').offset().top + $('.show_postQuestion').height()) - ($(window).scrollTop()+

我在想,当窗口滚动到看不见的地方时,如何在窗口底部固定一个div。我知道你可以用twitter引导来实现,但我不想使用库

到目前为止,我有一些我认为可以使用的jQuery:

$(window).scroll(function() {
  if (((($('.show_postQuestion').offset().top + 
            $('.show_postQuestion').height()) - 
            ($(window).scrollTop()+$(window).height())) > 0)) {
    // Post form off-screen
    $('.show_postQuestion').addClass('fixed');
  } else {
    $('.show_postQuestion').removeClass('fixed');
  }
});
.fixed类只是
位置:fixed;底部:0

问题是,如果表单滚动关闭并自行修复,它就不再在视图之外,而在文本滚动上,它将自行解除修复,导致它再次自行修复,诸如此类,并使其闪烁

我想知道是否有人对如何解决这个问题或其他解决方案有建议


谢谢

如果我正确理解了您的问题,您希望将一个元素固定到窗口底部,如果该元素通常位于页面下方且不在视图中。当用户向下滚动到它的自然位置时,它会像平常一样随着滚动而流动

我稍微修改了您的函数,以记住页面加载时元素的初始位置,并使用该位置每次将其与scrollTop位置进行比较

$(function() {
  var $postQ = $(".show_postQuestion"),
      $postQPos = $postQ.offset().top + $postQ.height(),
      $win = $(window);

  $win.scroll(function() {
    if ($postQPos > $win.scrollTop() + $win.height()) {
      // Post form off-screen
      $('.show_postQuestion').addClass('fixed');
    } else {
      $('.show_postQuestion').removeClass('fixed');
    }
  }).trigger('scroll'); // trigger the event so it moves into position on page load
});