2016-07-25 83 views
-1

我想將我的scrolltop值從50px更改爲諸如讓用戶的屏幕顯示1%等內容。我怎麼可能會這樣做。我讀到的JS值可以是一個百分比,但它不適合我。下面是一個codepen我提出來演示效果:如何將Javascript值更改爲百分比而不是像素

[鏈接](http://codepen.io/ericshio/pen/zBRbAY

HTML:

<div class="filler"></div> 
<a href="#introjump"><img class="down-arrow" src="http://www.themainconcept.com/wp-content/uploads/2015/11/down-arrow-wht.png" alt="down arrow wht"/></a> 

CSS:

.down-arrow { 
    position: fixed; 
    bottom: 1%; 
    left: 50%; 
    max-width: 3.5%; 
    min-width: 3.5%; 
    width: 3.5%; 
    box-shadow: none; 
    opacity: 0.6; 
} 

.down-arrow:hover { 
    opacity: 1; 
} 


.filler { 
    height: 10000px; 
} 

JS:

$(window).scroll(function() { 
    $(".down-arrow").css("opacity", 1 - 
    $(window).scrollTop()/50); 
}); 
+0

「_1%的用戶screen_」=='1vh';沒有必要 – dandavis

+0

數學這是怎麼 (「不透明度」,1 - 不引發錯誤O0 –

+0

@dandavis,這將引發錯誤:意外的令牌非法 – ERIC

回答

0

嘗試。

$(window).scroll(function() { 
    $(".down-arrow").css("opacity", 1 - 
    $(window).scrollTop()/$(document).height()*0.5); 
}); 
+0

嗯,這並沒有達到我需要的是,當用戶滾動50-250像素,或者可能是屏幕的1-5%時,我需要不透明度爲0, – ERIC

+0

您可以根據該值更改值,例如$(document).height ()* 0.05 5% –

0

我是g uessing你想淡出的箭頭上滾動

$(window).scroll(function() { 
 
    $(".down-arrow").css("opacity", 1 - ($(window).scrollTop()/document.body.scrollHeight)); 
 
});
.down-arrow { 
 
    position: fixed; 
 
    bottom: 1%; 
 
    left: 50%; 
 
    max-width: 3.5%; 
 
    min-width: 3.5%; 
 
    width: 3.5%; 
 
    box-shadow: none; 
 
    opacity: 0.6; 
 
} 
 
.down-arrow:hover { 
 
    opacity: 1; 
 
} 
 
.filler { 
 
    height: 10000px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="filler"></div> 
 
<a href="#introjump"> 
 
    <img class="down-arrow" src="http://www.themainconcept.com/wp-content/uploads/2015/11/down-arrow-wht.png" alt="down arrow wht" /> 
 
</a>

+0

是的,但我希望它?淡出完全非常接近頂部。像50px下來。 – ERIC

+0

是不是你已經在做什麼,在50像素淡出? – adeneo

0

試試這個

.down-arrow { 
 
    position: fixed; 
 
    bottom: 1%; 
 
    left: 50%; 
 
    max-width: 3.5%; 
 
    min-width: 3.5%; 
 
    width: 3.5%; 
 
    box-shadow: none; 
 
    opacity: 0.6; 
 
} 
 

 
.down-arrow:hover { 
 
    opacity: 1; 
 
} 
 

 

 
.filler { 
 
    height: 50%; 
 
}

+0

這阻止了JS從工作... – ERIC

相關問題