Javascript IE8上的jQuery切换类

Javascript IE8上的jQuery切换类,javascript,jquery,internet-explorer-8,toggleclass,Javascript,Jquery,Internet Explorer 8,Toggleclass,我试图在标题到达某个滚动条时将其颜色更改为标题。我将此脚本用于jQuery: var $document = jQuery(document), $element = jQuery('#header'), className = 'red'; $document.scroll(function() { $element.toggleClass(className, $document.scrollTop() >= 400); }); 除IE8外,它适用于所有浏

我试图在标题到达某个滚动条时将其颜色更改为标题。我将此脚本用于jQuery:

var $document = jQuery(document),
    $element = jQuery('#header'),
    className = 'red';

$document.scroll(function() {
    $element.toggleClass(className, $document.scrollTop() >= 400);
}); 
除IE8外,它适用于所有浏览器。IE8是否不支持toggleClass?我怎样才能解决它

任何帮助都将不胜感激。谢谢

jsFiddle:
在IE中:

问题在于IE中的阅读不同。IE更喜欢您使用。您会发现以下内容更加兼容跨浏览器

$(function() {
    $(window).scroll(function(e) {
        $("#header").toggleClass("red", $(this).scrollTop() >= 400);
    });
})
或使用变量类型设置:

jQuery(function() {
    var $window = jQuery(window),
        $element = jQuery("#header"),
        className = "red";

    $window.scroll(function(e) {
        $element.toggleClass(className, jQuery(this).scrollTop() >= 400);
    });
})



问题更可能出在
.scrollTop()
上,而不是
.toggleClass()
上。为什么要将
$
jQuery
混合在一起?会出现什么错误?没有错误,只是它不会改变颜色。您检查过“滚动”是否正确吗事件是否触发?@j08691混合
$
jQuery
是什么意思。我只看到所有jQuery结果集的前缀都是
$
,这在源代码中直接显示它是jQuery结果集并不是一种罕见的做法。谢谢,您已经解决了!我不知道IE上的$document有这个问题,我认为这是一个切换类问题,因为我在网上发现了几个关于这个的问题,我把重点放在了这个问题上。你永远不会停止学习,谢谢!