2013-06-20 56 views
0

我正在開發一個網站建設程序的插件,並且正在爲它建立預覽頁面。這是一種視差滾動插件,我遇到的問題是在Safari中,當您向下滾動到某個點時,它不會允許您進一步滾動。在Firefox和Chrome中很好,但我在Opera中看到了同樣的問題。我已經設法縮小它的功能,但我不知道爲什麼或如何解決它。Safari滾動問題與jQuery .remove()

當我註釋掉此功能時,頁面滾動罰款,但像我需要做它不會刪除空的div:

function removeStuff() { 
    $('.conP').each(function(){ 
     var divDad = $(this), 
      divses = $(this).children(); 
     if (divses.hasClass('empty')) 
      divDad.remove(); 
    }); 
} 

這裏的地方可以觀察到這一問題的預覽頁面: http://reveriesrefined.com/myftp/dack_stev/

//////////編輯:

我已經簡化了代碼如下:

$('.conP_%id% > .empty').parent().remove(); 

但是,它仍然導致safari和opera中的滾動問題,但不會導致其他瀏覽器。

任何幫助是非常非常感謝!

+1

對我來說,滾動問題開始一旦我到暴風軍隊頭部。 – EmmaGamma

回答

0

其實我已經發現了這個問題。不知何故,儘管註釋掉上述功能似乎解決了這個問題,但它實際上是另一個函數中的一行代碼。

我有這個功能:

function autoPlay() { 
var backDiv = $('#outterLax div:first'); 
    backDiv.hide(); 
    $('.conP').hide(); 
    backDiv.remove(); 
    $('#outterLax').append(backDiv); 
    backDiv.show(); 
} 

但行:

$('.conP').hide(); 

是不必要的,因爲這是已經在其他地方在我的代碼來實現。