2014-03-06 45 views
0

如果達到頁面底部,並且單擊元素,我還有頁腳向上滑動。它通過向/從頁腳添加/刪除類active來工作。ie8 addClass和removeClass不工作,jQuery1900969595128946837添加到div而不是類

但它不適用於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股利。 jQuery1900969595128946837而不是class ='active'。但是,如果我要麼上下滑動,它總是保持這種狀態。

有什麼想法?

+0

你的問題是在這裏:'$(窗口).scrollTop()+ $(窗口).height( )== $(document).height()'不用'add \ removeClass'調試你的代碼。把'console.log'和'alert's – gdoron

+0

你的jQuery版本是什麼? –

+0

我不明白這是一個問題。如果我只是單擊頁腳而不滾動頁面,它仍然不會添加/刪除類。 – BlekStena

回答

0

你可能只是做:

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

我打算回答同樣的問題!但實際上這不是問題!問題是與@gdoron提到的 –

+1

這只是代碼重構它不能解決問題。 – BlekStena

0

嘗試on method,而不是點擊:

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

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

    } 
}); 
+0

不起作用。你說你想給戈登同樣的答覆。你能給出一個不同的檢測頁面底部的例子嗎? – BlekStena

相關問題