时间:2021-05-08
在网上找了好久,终于找到一种亲测有效的解决方法。
复制代码代码如下:
<!--[if IE 6]>
<script type="text/javascript">
(function($) {
jQuery.fn.Fixed = function(options) {
var defaults = {
x:0,
y:0
};
var o = jQuery.extend(defaults, options);
var isIe6 = !window.XMLHttpRequest;
var html= $('html');
if (isIe6 && html.css('backgroundAttachment') !== 'fixed') { //防止抖动
html.css('backgroundAttachment','fixed')
.css('backgroundImage','url(about:blank)');
};
return this.each(function() {
var domThis=$(this)[0];
var objThis=$(this);
if(isIe6){
objThis.css('position' , 'absolute');
domThis.style.setExpression('left', 'eval((document.documentElement).scrollLeft + ' + o.x + ') + "px"');
domThis.style.setExpression('top', 'eval((document.documentElement).scrollTop + ' + o.y + ') + "px"');
} else {
objThis.css('position' , 'fixed').css('top',o.y).css('left',o.x);
}
});
};
})(jQuery)
</script>
<![endif]-->
调用方法如下:
复制代码代码如下:
<!--[if IE 6]>
<script type="text/javascript">
$(function(){
$('.float').Fixed({x:800,y:200});
});
</script>
<![endif]-->
fixed一般应用有两种情况。
一,居中的弹层:
复制代码代码如下:
<!--[if IE 6]>
<script type="text/javascript">
$(function(){
//centerX和centerY是可视窗口的高和宽,需要减去自身的的宽度或高度的一半才能居中
var screenHeight=document.documentElement.clientHeight,
screenWidth=document.documentElement.clientWidth,
floatHeight=$('.float').height(),
floatWidth=$('.float').width();
$('.float').Fixed({
x:(screenWidth-floatWidth)/2,
y:(screenHeight-floatHeight)/2
});
});
</script>
<![endif]-->
二,靠右的弹层,类似于回到顶部等:
复制代码代码如下:
<!--[if IE 6]>
<script type="text/javascript">
$(function(){
//centerX和centerY是可视窗口的高和宽,高度自定义,宽度为屏幕宽度-浮层宽度
var screenHeight=document.documentElement.clientHeight,
screenWidth=document.documentElement.clientWidth,
floatHeight=$('.float').height(),
floatWidth=$('.float').width();
$('.float').Fixed({
x:screenWidth-floatWidth,
y:300
});
});
</script>
<![endif]-->
这下就妥妥的了。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
ie6对position:fixed不支持,网上有很多解决方法,有的在ie6,ie7上调试成功后,在ie8上又不好使,div层还是跟随滚动条浮动;以下总结方法,
建议:尽可能的手写代码,可以有效的提高学习效率和深度。由于IE6并不支持position:fixed,所以导致很多好的效果都无法实现,但是在IE6下并不是不能够
今天在学习的时候,突然发现在IE6浏览器下,position:fixed不管用了:复制代码代码如下:NewDocument正常普通流元素position:f
概述:IE6不支持固定定位(position:fixed)是众所周知的事情,所以我们要想在IE6做出固定定位的效果就只能用JS,但是用js会出现“跳
在其它版本我们测试的position:absolute属性都是正常显示,但是ie6下显示的却为空。解决方法如下:只需要在浮动层的下方或上方加上一个空的div即可