JS或者jquery做 一个div不随滚动条上下移动改变位置的效果,就是div始终保持在浏览器的一个位置,不用css

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS或者jquery做 一个div不随滚动条上下移动改变位置的效果,就是div始终保持在浏览器的一个位置,不用css相关的知识,希望对你有一定的参考价值。

的fixed

参考技术A 不用CSS是行不通的,js或jquery做出的效果,也是使用了css中的相关属性。只不过,使用js或jquery后可以增加更多效果 参考技术B 不用css时不可能的,不写stylesheet文件不代表不用,只是看不见而已。想要达到你说的效果要用相对对位,也就是position属性,调成相对页面的就可以了。这么做它的位置就会固定在一个位置
$(选择器).css("position",样式)可以达到效果。
参考技术C 可以用absolute 先定right 然后记录scrollTop+需要固定模块距离顶部的距离 然后把事件绑定到 srcoll 事件里面去 最好加入定时器 设置1秒的延迟

参考技术D 这种例子有很多,一般的网站浮动广告就是这种效果。
我觉得你的要求,不需要用到jQuery或js,用CSS就可以实现,但不用fixed.
.float background-color: #000;height: 200px;width: 100px;position: absolute;top: 80px;right: 20px;
其中,最关键的就是position属性,让这个层浮动起来,然后设置top,right属性就行了。
如果,使用jQuery可以灵活的给需要这个效果的div加上css样式:
例如,html中有个<div id="rightMenu"></div>
当点击一个按钮时,可以出发按钮的点击事件:
$("#confirm").click(function()
$("rightMenu").addClass("float");
);本回答被提问者和网友采纳
第5个回答  2020-10-16 <script type="text/javascript">
/*页面加载或滚动或窗口大小改变事件发生时*/
window.onload=window.onresize=window.onscroll=function ()
//获取滚动条纵坐标 ①
var scrollTop=document.body.scrollTop||document.documentElement.scrollTop;
//获取要固定在页面可视区中的div块
var oNav=document.getElementById('nav');
//获取div块的纵坐标到可视区页面顶部的距离 ②
var t=oNav.offsetTop-scrollTop;
//①+②得div块在滚动后的新的纵坐标, 不要漏掉px
oNav.style.top=scrollTop+t+'px';

</script>
div块的position为absolute

css固定div头部不随滚动条滚动

给div加浮动:
position:fixed;
固定宽度,高度,距离头部,左部为0:
width: 99%;
height: 80px;
top:0; 
left: 0;

以上是关于JS或者jquery做 一个div不随滚动条上下移动改变位置的效果,就是div始终保持在浏览器的一个位置,不用css的主要内容,如果未能解决你的问题,请参考以下文章

怎么让div内的某个元素固定不随div的滚动条的滚动而滚动?

怎么让div内的某个元素固定不随div的滚动条的滚动而滚动?

如何固定table的第一行,不随纵向滚动条滚动,但能横向滚动

js怎么让body滚动条滚动到底或者到底了 鼠标再滚动时让另外一个DIV滚动

jquery效果:DIV随浏览器滚动条上下移动

有两个div,一个父级,一个子级,父级有滚动条,样式如何写才能让子级的div固定在顶部,不随滚动条