2017-04-17 114 views
3

我已經研究了源代碼的丟失,但是對於我的問題沒有解決方案。我創建了一個div,其可見性隱藏在CSS源代碼中。我想從0.1的不透明度開始,當滾動到200和當位於300不透明度的滾動變爲1.在向下滾動時增加div不透明度

$(document).ready(function(){      
    $(window).scroll(function(){ 
     if ($(this).scrollTop() > 150) { 
      $('.fscrollonh').css({"opacity": "0.1", "visibility": "visible"}); 
      $('.fscrollonh').show(500); 
     } else { 
      $('.fscrollonh').hide(500); 
     } 
    }); 
}); 
+0

那麼,什麼是你的問題?我在任何地方都看不到它。編輯:你說'我想從0.1不透明度開始,當滾動200',你的代碼是'$(this).scrollTop()> 150'。 –

+0

在這種情況下,不透明度在滾動200中變爲0.1。我想在從150到300的滾動期間將不透明度從0.1增加到1.對不起,我改變了我的決定並忘記了。 – Onur

+0

因此,一旦$(this).scrollTop()'>的值爲300,你希望完全不透明?如果是這樣,只需添加一個'else if'條件。 –

回答

3

我假設你正在尋找類似的東西?

$(document).ready(function(){      
 
    $(window).scroll(function(){ 
 
     let sT = $(window).scrollTop(); 
 
     $('.scrollonh').css({ 
 
     opacity: (sT < 201 ? 0 : (sT > 300 ? 1 : (sT - 200)/100)) 
 
     }) 
 
    }); 
 
});
body { 
 
    min-height: 200vh; 
 
} 
 
.scrollonh { 
 
    position: fixed; 
 
    top: 0; 
 
    bottom: 0; 
 
    left: 0; 
 
    right: 0; 
 
    opacity: 0; 
 
    display: flex; 
 
    justify-content: center; 
 
    align-items: center; 
 
} 
 
.\32 00pxmark, 
 
.\33 00pxmark { 
 
    margin-top: 200px; 
 
    height: 0; 
 
    overflow: visible; 
 
    border-top: 1px solid red; 
 
} 
 
.\33 00pxmark { 
 
    margin-top: 100px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="scrollonh">I fade on scroll</div> 
 
<div class="200pxmark">200px mark</div> 
 
<div class="300pxmark">300px mark</div>

+1

非常感謝你!有效。 – Onur

0

試試這個。它根據一個函數計算不透明度並計算滾動

$(document).ready(function(){      
    $(window).scroll(function(){ 
     var scrollval = $(this).scrollTop(); 
     if (scrollval > 150) { 
      $('.fscrollonh').css({"visibility": "visible"}); 
      $('.fscrollonh').show(500); 
      $('.fscrollonh').css({ 
       opacity: function() { 
       var opacity = (150 * .006) + 0.1; 
       return opacity; 
       } 
       }); 
     } 
    else { 
      $('.fscrollonh').hide(500); 
     } 
    }); 
}); 

雖然我還沒有嘗試過,

Hopt this helps。

+0

當我嘗試時有一些括號錯誤。可能因爲這個原因,它不起作用。 – Onur

+0

對不起,我忘了一個'}'大括號。更新了代碼 – Mayank

+0

需要我30分鐘才能找到它:)非常感謝! – Onur