模拟实现fixed效果

时间:2022-11-15 21:35:55
JS模拟fixed效果。如何解决晃动问题。也就是跟fixed效果一摸一样。
既然fixed浏览器已经实现,真的就没办法模拟出来吗?!!

<div style="width:100%;height:2000px;border:1px red solid;"></div>
<div id="test" style="position:absolute;left:50px;top:0px;background:url(http://avatar.profile.csdn.net/F/4/2/2_gkw521.jpg);width:100px;height:100px;"></div>
<script>
var dom=document.getElementById('test');
var mark=true,timeID,num=0;;
var setPos=function(){
markf=false;
clearInterval(timeID);
timeID=setInterval(function(){
dom.style.top=(document.documentElement.scrollTop+document.documentElement.clientHeight-dom.offsetHeight)+'px';
num++;
document.title=num;
//if(num>1000){num=0;clearInterval(timeID);}
},100);
}
setPos();
//window.onscroll=window.onresize=setPos;

7 个解决方案

#1


IE8也支持fixed,模拟要想做没有晃动,怕是很难

#2


study

#3


http://bbs.blueidea.com/thread-2930592-1-1.html
参考

#4


引用 3 楼 cloudgamer 的回复:
http://bbs.blueidea.com/thread-2930592-1-1.html
 参考


楼上全是基于CSS的,我需要的是JS模拟,而且div中含有图片。真的无法实现吗?

#5


引用 3 楼 cloudgamer 的回复:
http://bbs.blueidea.com/thread-2930592-1-1.html
参考


好方法,学习了

#6


引用 3 楼 cloudgamer 的回复:
http://bbs.blueidea.com/thread-2930592-1-1.html
 参考

学习下~

#7


引用 3 楼 cloudgamer 的回复:
http://bbs.blueidea.com/thread-2930592-1-1.html
 参考

这个我已经用过
但是在网站已经做好情况下可能会影响原有的css。

楼主这个代码是不是没贴全?

#1


IE8也支持fixed,模拟要想做没有晃动,怕是很难

#2


study

#3


http://bbs.blueidea.com/thread-2930592-1-1.html
参考

#4


引用 3 楼 cloudgamer 的回复:
http://bbs.blueidea.com/thread-2930592-1-1.html
 参考


楼上全是基于CSS的,我需要的是JS模拟,而且div中含有图片。真的无法实现吗?

#5


引用 3 楼 cloudgamer 的回复:
http://bbs.blueidea.com/thread-2930592-1-1.html
参考


好方法,学习了

#6


引用 3 楼 cloudgamer 的回复:
http://bbs.blueidea.com/thread-2930592-1-1.html
 参考

学习下~

#7


引用 3 楼 cloudgamer 的回复:
http://bbs.blueidea.com/thread-2930592-1-1.html
 参考

这个我已经用过
但是在网站已经做好情况下可能会影响原有的css。

楼主这个代码是不是没贴全?