2012-12-20 38 views
0

我在頁面中有一個疊加層,請檢查鏈接。頁面滾動時滾動模態

SLIDER DEMO

一旦頁面加載它會進來。然後,當你向下滾動覆蓋的頁面是一樣的。它也應該在頁面滾動到某個程度時向上滾動,如該URL所述。然後再次當用戶回滾它應該出現。
我正在使用此代碼做到這一點,slideme()帶來覆蓋和reset()使它回去。

希望我的問題很清楚。提前致謝。

$(document).ready(function() 
{ 
    SlideMe(); 

    $('body').keypress(function(e) 
    { 
     if(e.keyCode == 27) 
     { 
      reset(); 
     } 
}); 

    }); 
    function SlideMe() 
    { 
     if(document.getElementById('hdnFBStats').value == 1) 
     { 
      document.getElementById('hdnFBStats').value =0; 
      reset(); 
      return false; 
     } 

     $lngDocWidth = ($(document).width()/3)+32; 

     $('#overlay').fadeIn('fast',function(){ 
      $("#fb").animate({marginRight:$lngDocWidth}, 1500);   
     }); 

     $("#feedbackimg").css("margin-right", '100px'); 
     $("#feedbackimg").css("float", 'right'); 

     document.getElementById('hdnFBStats').value= 1; 
    } 

    function reset() 
    { 
     $("#fb").css('margin-right', '0px'); 
     $('#overlay').fadeOut('fast'); 
    } 
+1

我實際上沒有看到問題嗎? – MLeFevre

+0

如果你轉到這個鏈接http://vignesh.gvignesh.org/slide/你可以看到一個疊加層。如果你滾動頁面,疊加層保持原樣。我的問題是,疊加層也應該在頁面滾動時向上滾動。希望我清楚。 –

回答

2

我想你只是需要修改你的CSS。
只需將position作爲absolute而不是fixed即可。

#fb { 
    position: absolute; 
    right: -505px; 
    top: 150px; 
    z-index: 101; 
} 

編輯:希望這可以幫助你。

function thisfunc(evt) { 
    if(window.pageYOffset>=400) { 
     // if(sent to right) { 
     //send to right 
     //} 
    } 
    else { 
     // if(sent to middle) { 
     //send to middle and restore 
     //} 
    } 
    } 
    document.onscroll=thisfunc; 
+0

Thankyou。你回答了我的一個問題。它的工作正常。最主要的是,如果用戶在某種程度上向下滾動,它應該回到原來的位置。即中間右角。那麼當用戶向上滾動時,它應該回到外面。 –

+0

嘿,偉大的人...!它的工作很酷。但是,當頁面快速滾動時,它會干擾.. –

+0

您必須防止每個函數調用上的函數執行。 **請參閱編輯**。但我想知道當頁面向下滾動到某種程度時用戶如何看到恢復的框。 – vusan