JS或者jquery做 一个div不随滚动条上下移动改变位置的效果,就是div始终保持在浏览器的一个位置,不用css
发布网友
发布时间:2022-04-20 19:44
我来回答
共5个回答
热心网友
时间:2022-04-20 21:13
不用CSS是行不通的,js或jquery做出的效果,也是使用了css中的相关属性。只不过,使用js或jquery后可以增加更多效果
热心网友
时间:2022-04-20 22:31
不用css时不可能的,不写stylesheet文件不代表不用,只是看不见而已。想要达到你说的效果要用相对对位,也就是position属性,调成相对页面的就可以了。这么做它的位置就会固定在一个位置
$(选择器).css("position",{样式})可以达到效果。
热心网友
时间:2022-04-21 00:06
可以用absolute 先定right 然后记录scrollTop+需要固定模块距离顶部的距离 然后把事件绑定到 srcoll 事件里面去 最好加入定时器 设置1秒的延迟
热心网友
时间:2022-04-21 01:57
这种例子有很多,一般的网站浮动广告就是这种效果。
我觉得你的要求,不需要用到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");
});
热心网友
时间:2022-04-21 04:05
<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