ie8 addClass和removeClass不工作,jQuery1900969595128946837添加到div而不是class

时间:2014-03-06 09:07:59

标签: jquery

如果到达页面底部,我的页脚会向上滑动,如果单击了某个元素,也会向上滑动。它的工作原理是在页脚中添加/删除类active

但它在IE8中不起作用。未分配该类,并且无论何时到达页面底部,它都会向上然后向下,就像它已被单击两次一样。

如果页面位于底部,则仅分配类,然后刷新页面以使其自动位于页面刷新的底部。但是这个课程永远不会被删除。

同样,在这种情况下,底线是添加/删除类在IE8中不起作用。

我的代码:

$(window).scroll(function() {
   if($(window).scrollTop() + $(window).height() == $(document).height()) {
       $('.footer .open').click();
   }
});

$('.footer').click(function(){
    if($(this).hasClass('active')){
        $('.footer').removeClass('active');
        $('#page-footer').slideUp();

    }else{
        $(this).addClass('active');
        $('#page-footer').slideDown();

    }
});

修改

我刚注意到我已将此添加到IE8中的footer div中。 jQuery1900969595128946837代替class ='active'。但如果我向上或向下滑动,它总会保持这种状态。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

你可以做:

$('.footer').on('click',function(){
        $('#page-footer').slideToggle();
        $(this).toggleClass('active');
});

答案 1 :(得分:0)

尝试on method而不是点击:

$('.footer').on('click',function(){
    if($(this).hasClass('active')){
        $('.footer').removeClass('active');
        $('#page-footer').slideUp();

    }else{
        $(this).addClass('active');
        $('#page-footer').slideDown();

    }
});