2016-09-15 94 views
-5

我有以下代碼可以在滾動過100像素時看到ID。在Javascript中使用百分比值

window.onscroll = function() {stickyHeader()}; 

function stickyHeader() { 
    if (document.body.scrollTop > 100 document.documentElement.scrollTop > 100) { 
     document.getElementById(sticky-header).style.visibility= visible; 
    } else { 
     document.getElementById(sticky-header).style.visibility= hidden; 
    } 
} 

如何將scrollTop >100值中的100像素更改爲頁面的80%?

+1

多個頁面被.8高度? – epascarello

+1

您可能需要'(document.documentElement.scrollHeight - window.innerHeight)* 0.8' ... –

回答

0

我更新了你的代碼,因爲你沒有引用任何字符串,並且你缺少一個或邏輯運算符||

下面的代碼應該會在用戶向下滾動80%時翻轉可見性。

window.onscroll = function() {stickyHeader()}; 
 

 
function stickyHeader() { 
 

 
    var height = (document.body.scrollHeight, document.documentElement.scrollHeight) * 0.8; 
 

 
    if (document.body.scrollTop > height || document.documentElement.scrollTop > height) { 
 
     document.getElementById('sticky-header').style.visibility= 'visible'; 
 
    } else { 
 
     document.getElementById('sticky-header').style.visibility= 'hidden'; 
 
    } 
 
}
<div style="position:fixed" id="sticky-header"> 
 
sticky-header 
 
</div> 
 
<p style="height:4000px"> 
 
</p> 
 
.