Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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/Javascript修复定位div_Javascript_Jquery_Css_Mobile - Fatal编程技术网

仅通过jQuery/Javascript修复定位div

仅通过jQuery/Javascript修复定位div,javascript,jquery,css,mobile,Javascript,Jquery,Css,Mobile,您可能知道,固定定位在大多数移动设备中都不兼容。作为一种解决方法,我希望使用Javascript(jQuery会更好)在div上固定位置,而不使用position:fixed 有什么想法吗?你会想看看JQuery插件;快速搜索发现以下内容: 我相信还有很多其他的。使用。它使用absolute定位并在每次滚动页面时更新位置来模拟效果 如果不想使用jQuery,可以使用香草JavaScript。下面是一个示例脚本,它在页面顶部保留一个ID为fixedDiv的div: var fixedDi

您可能知道,固定定位在大多数移动设备中都不兼容。作为一种解决方法,我希望使用Javascript(jQuery会更好)在div上固定位置,而不使用
position:fixed


有什么想法吗?

你会想看看JQuery插件;快速搜索发现以下内容:

我相信还有很多其他的。

使用。它使用
absolute
定位并在每次滚动页面时更新位置来模拟效果

如果不想使用jQuery,可以使用香草JavaScript。下面是一个示例脚本,它在页面顶部保留一个ID为fixedDiv的
div

var fixedDiv = document.getElementById("fixedDiv");
window.onscroll = function() {
    var scrolltop = window.pageYOffset;
    fixedDiv.style.top = scrolltop + "px";
};
CSS:


我希望这有帮助

我过去使用过,它在所有移动浏览器和桌面浏览器中都能正常工作。

您可以在scroll事件中重置div的位置,使其保持在原来的位置。这并不容易。您必须使用“位置:绝对”。但要使其像“fixed”一样工作,页面上唯一能够定义样式“position”的父元素将是body标记。如果任何其他元素定义了“位置”,则目标元素的位置将基于该位置,而不是主体。如果可能的话,您可以绑定窗口的“scroll”事件,并根据scrollTop设置元素的顶部和左侧。
#fixedDiv {
    position: absolute;
    top: 0px;
    left: 0px;
}