Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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更改position属性不会';在IE中无法正常工作_Jquery_Css_Internet Explorer_Cross Browser - Fatal编程技术网

使用jQuery更改position属性不会';在IE中无法正常工作

使用jQuery更改position属性不会';在IE中无法正常工作,jquery,css,internet-explorer,cross-browser,Jquery,Css,Internet Explorer,Cross Browser,几行简单的jQuery在InternetExplorer中似乎无法正常工作。在Firefox中运行良好。当您在视口底部200px范围内滚动时,当您滚动过去时,固定位置div应“粘住”页面 下面是该问题的一个JSFIDLE示例: 在Firefox中,该示例正常工作。当滚动位置距离文档高度底部200 px时,固定位置div将变为绝对位置,并具有Top:属性,即页面高度减去视口高度减去元素高度。换句话说,当你继续滚动它时,它会“粘”在原来的位置 在Internet explorer中,div只是停留

几行简单的jQuery在InternetExplorer中似乎无法正常工作。在Firefox中运行良好。当您在视口底部200px范围内滚动时,当您滚动过去时,固定位置div应“粘住”页面

下面是该问题的一个JSFIDLE示例:

在Firefox中,该示例正常工作。当滚动位置距离文档高度底部200 px时,固定位置div将变为绝对位置,并具有Top:属性,即页面高度减去视口高度减去元素高度。换句话说,当你继续滚动它时,它会“粘”在原来的位置


在Internet explorer中,div只是停留在底部,如果条件从未满足,则jquery将不可预测。

IE7和IE8在固定位置下是不可预测的,除非您声明一个合理的位置!DOCTYPE(不确定IE9,不拥有任何Win7机器)。我总是使用XHTML/1.0作为一切过渡语言,但我认为如果您也声明HTML/4.01,它也应该可以正常工作

还值得注意的是,使用XHTML修复了IE处理
text align:center就好像它是
左边距:自动;右边距:自动并完全忽略
边距:自动声明

别忘了

e、 g


...
...
尝试使用

var till = $('body').height()-800;
…而不是

var till = $('html').height()-800;
我猜HTML元素本身的高度在IE中没有很好的定义。您似乎也在使用文档就绪函数的“this”来抓取窗口;你应该改用窗口。此外,我认为示例中“超过限制后”的定位数学有点错误

此外,一旦你达到了极限,你的div就会在CSS中同时设置一个“top”和一个“bottom”值,这可能会让浏览器感到困惑。我添加了一个重置(设置“顶部”值时,将“底部”值设置为“自动”)


试试这个:;对我来说,它似乎在Firefox和IE中工作。

我用Doctype更新了OP中的JSFIDLE示例。当您运行该示例时,这并没有什么区别。JSFIDLE示例现在验证XHTML转换。同样的问题。很抱歉,我在JSFIDLE示例中发布了一个旧版本的代码。现在更新了。下面是我的更新示例,它将$(文档)更改为$('body')。同样的问题。在IE7或IE8中不起作用@Chris我认为您当前的JSFIDLE无法工作,因为您已经将其包装在一个文档中(当您选择“onload”时,JSFIDLE不需要)。很抱歉,这一个对我来说可能是太多的移动目标。删除它会导致示例无法正常运行。@Chris,我们可以了解更多细节吗?例如,“运行不正常”是什么意思?
var till = $('html').height()-800;