[英]How to write a do while loop in jquery
我試圖獲取一個具有設定顏色的變量,直到到達頁面下方一定的滾動距離為止,一旦到達該點,我希望該變量不再是該顏色並恢復為正常設置。 向上滾動頁面后,我不希望顏色返回。 我的第一個想法是JavaScript的while循環,但是我不確定這是最好的方法,還是如何在jquery中做到這一點。
到目前為止,這就是我所擁有的
if($('body').hasClass('page-template-homepage-php')){
var oneShot = jQuery(window).scrollTop()
var opacity = jQuery(window).scrollTop() / 100;
if(opacity > 1){ opacity = 1; }
//do{
// opacity = 1;} while(
// oneShot < 201);
$('.background-wrapper').css('background-color', 'rgba(0, 0, 0, ' + opacity +')');
}
我的第一個嘗試是
for(oneShot < 200; opacity = 1){
if(oneShot = 200){
break;
}
}
其次是
do{
opacity = 1;} while(
oneShot < 201);
顯然都使用JavaScript而不是jquery
有什么想法嗎?
需要說明的是 :當前,在頁面加載時,相關標題為純黑色。 一旦滾動了一個像素,上面發布的代碼使標題不透明,然后隨着滾動繼續向下,逐漸變回黑色。 所需的效果是加載頁面,標題為黑色,向下滾動超過100px,而標題保持黑色。 傳遞100像素后,向上滾動時,不透明度褪色將生效。 **
在回答真正的問題之前,需要注意以下幾點:
也就是說,這是一個如何解決問題的非常簡單的示例:
// attach a listener function to the window.scroll event:
$(window).on('scroll', function scrollListener(evt) {
// each time the event gets triggered, get the scrollTop-value
var scrollTopValue = $(window).scrollTop();
// if it is above/below (don't use equal!) a certain value:
if (scrollTopValue > 500) {
// handle that condition:
$('#test').addClass('foo');
// remove the listener:
$(window).off('scroll', scrollListener);
}
});
演示: http : //jsbin.com/sobewute/2/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.