javascript - 如果整个元素都在 View 中,则元素位置为 :fixed?

标签 javascript jquery

我遇到了这段代码,它会在单击时发出警报,以确定整个元素是否在 View 中。我希望沿着相同的路线创建一个侧边栏,因为当侧边栏处于完整 View 时,我需要它成为位置:固定到页面底部,否则是位置​​:相对。 (减去点击时我只想在滚动时发生)。

Demo

我不太擅长 JS,所以不确定我的想法是否正确?这种东西可以很容易地适应我的需要吗?

$(document).click(function() {
   var win = $(window);
   var el = $('#tester');
   var winPos = win.scrollTop() + win.height();
   var elPos = el.offset().top + el.height();

   alert(winPos > elPos);
});

如有任何帮助,我们将不胜感激。

最佳答案

如果您有显示菜单的函数和隐藏菜单的函数,只需使用 jQuery...

function show(){
  menu.show();
  menu.css("position", "fixed");
}
funtion hide(){
  menu.hide();
  menu.css("position", "relative");
}

关于javascript - 如果整个元素都在 View 中,则元素位置为 :fixed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31297217/

相关文章:

javascript - 映射中有条件的粗箭头

JavaScript - Math.random() - 参数

javascript - 如何同时切换背景颜色和切换幻灯片?

javascript - JQuery 将匿名函数转换为命名函数无法正常工作

使用 setTimeout 函数调用 ajax 后,Jquery 和 css 不工作

javascript - 如何将 PHP 标签 $value 设置为 Javascript 参数?

javascript - 如何在componentDidUpdate中设置2个条件?

javascript - 尝试在 reactjs 中通过 document.getgetElementsByTagName 进行映射

Jquery 数据表排序不适用于日期列?

jquery - 通用/动态 JQuery 表单提交